# Old Project 此專案示範如何將手邊上傳至 Gitea ## 環境準備 ### Git 如 SVN,為操作指令必要安裝,至 [Git 官網](https://git-scm.com/) 下載安裝即可。 ![Git](doc_image/2023-10-20-16-28-09.png) ### SourceTree 如 TortioseSVN,為 Git 操作 IDE 版本控管 Tools,至 [SourceTree 官網](https://www.sourcetreeapp.com/) 下載安裝即可。 ![SourceTree](doc_image/2023-10-20-14-11-15.png) ## Gitea 新增 Repository(儲存庫) 主機位置:[http://twvoadtpw100004/](http://twvoadtpw100004/) 1. 首頁進入組織 於 Gitea 登入後首頁儀表板點選`組織`頁籤,點選 `OAD-WebTeam` 進入組織頁面。 ![首頁儀錶板](doc_image/2023-10-20-10-23-38.png) 2. 新增儲存庫 進入組織頁面後,點擊`新增儲存庫`按鈕新增 git 專案。 ![組織頁面](doc_image/2023-10-20-10-28-19.png) 3. 登打儲存庫資料 填寫儲存庫名稱(專案名稱),擁有者須為 `OAD-WebTeam` ,瀏覽權限設定為 `Private 私有`,相關資料填妥後建立儲存庫。 ![新增儲存庫](doc_image/2023-10-20-10-31-38.png) 4. 完成建立儲存庫 ![儲存庫](doc_image/2023-10-20-13-57-46.png) ## 專案 git 初始化 ### 建置 .gitignore 範本 為避免 git 同步時,上傳不必要檔案(ex. packages、node_modules),故會於該檔案設定忽略同步目錄。 1. 至 [gitignore](https://www.toptal.com/developers/gitignore) 找到對應開發 IDE/技術範本文件 ![gitignore](doc_image/2023-10-20-16-22-39.png) 2. 下載儲存至專案根目錄 `.gitignore` (內容以 Visual Studio 為例) ![content](doc_image/2023-10-20-16-23-21.png) ### 上傳 Source Code 專案將依照 [GitFlow](https://gitbook.tw/chapters/gitflow/why-need-git-flow) 原則進行版控,操作方式以 [使用 command line git 指令操作](#使用-command-line-git-指令操作) 或 [使用 SourceTree 介面操作](#使用-sourcetree-介面操作) 兩種方式擇一即可。 #### 使用 command line git 指令操作 1. 打開 cmd 視窗並移動至專案目錄 ```cmd cd /d D:\_SRC\_Coder\Git\OldProject\ ``` 2. git 初始化 ```cmd git init ``` ![git init](doc_image/2023-10-24-14-21-34.png) 執行完成後會產生 `.git` folder ![.git folder](doc_image/2023-10-24-14-08-33.png) 3. 設定 Remote 設定遠端 Git 主機位置 ```cmd git remote add origin http://twvoadtpw100004/OAD-WebTeam/OldProject.git ``` 4. Commit & Push 本階段我們將第一次同步並推送至主機 - git add:增加異動清單(暫存) ```cmd git add -A ``` ![git add](doc_image/2023-10-20-16-45-46.png) - git commit:登打異動資訊 ```cmd git commit -m "Initial commit" ``` ![git commit](doc_image/2023-10-24-15-40-27.png) - `git flow` 機制建立 ```cmd git flow init -d ``` ![git flow init](doc_image/2023-10-24-14-25-58.png) - 上傳至遠端主機 ```cmd git push -u origin master git push -u origin develop ``` ![git push master](doc_image/2023-10-24-15-46-56.png) ![git push develop](doc_image/2023-10-24-15-47-33.png) #### 使用 SourceTree 介面操作 1. 開啟 `SourceTree` ,至 `Create` 頁籤,填入程式相關路徑及專案名稱後,新增即可。 ![Create](doc_image/2023-10-20-11-30-23.png) 若有跳出提示表示資料夾已存在,點擊 Yes 繼續即可。 ![CreateAlert](doc_image/2023-10-24-14-33-01.png) 執行完成後會產生 `.git` folder ![.git folder](doc_image/2023-10-24-14-08-33.png) 2. 新增 Remote: ![Remote](doc_image/2023-10-20-11-35-47.png) ![configuration](doc_image/2023-10-20-11-36-40.png) 3. 設定 Remote 資訊,Remote name 勾選 `Default remote` ,登打 Gitea Repository 路徑及登入帳號。 ![Remote](doc_image/2023-10-24-14-38-12.png) ![Remote info](doc_image/2023-10-24-14-37-17.png) 4. 設定 statged files ![add](doc_image/2023-10-24-14-58-05.png) ![add done](doc_image/2023-10-24-14-59-21.png) 5. 登打 commit message 在文字框內登打 `Initial commit` 後,點擊 `commit` 按鈕。 ![Initial commit](doc_image/2023-10-24-15-14-33.png) 6. 切換至左方 `BRANCHS` 底下 `master` 分支,我們會看到剛剛增加的 commit,並點擊該項目可於下方查看異動項目清單。這時我們點擊右上角 `Git-flow` 按鈕設定未來上版規則。 ![Setting Git-flow](doc_image/2023-10-24-15-27-43.png) 7. 使用預設即可,按 OK。 ![OK](doc_image/2023-10-24-15-21-37.png) 8. 完成建立 Git-flow 規則 ![Git-flow](doc_image/2023-10-24-15-30-33.png) 9. 這時我們可以注意到 `BRANCHES` 有兩個分別為 **develop** 及 **master**,但 `REMOTES` 的 origin 並無任何 Branch,我們接著按 Push 至 Remote。 ![Push](doc_image/2023-10-24-15-53-41.png) 10. 因 Remote 未建立 **develop** 及 **master** Branch,故我們要將這兩個 Branch 從 Local 發布至 Remote,選擇 `Select All` 後點擊 `Push`。 ![Select All](doc_image/2023-10-24-15-58-16.png) 11. 完成後我們會看到 Git Graph 上同時會出現 Remote 與 Local 的 Branch,在左側 REMOTES 也出現剛上傳的 Branch。 ![Success](doc_image/2023-10-24-16-01-13.png) ### Gitea 驗證是否上傳成功 - Repository ![Gitea Repository](doc_image/2023-10-24-16-02-41.png) - 分支資訊 ![Remote Branch](doc_image/2023-10-24-16-03-06.png) ### 注意事項 如果執行 `git push` 有跳出輸入帳號密碼資訊,輸入 Gitea 帳密即可。 ![輸入帳密](doc_image/2023-10-20-16-40-29.png)