###### tags: `Git` # Client git reposotory管理 **目的:** 管控進版內容,杜絕大家隨意上傳內容,造成驗收的困擾 移除develop、resource分支。統一使用dev當作開發分支 上傳權限僅有client、企劃窗口、美術窗口 ## Client 大部分透過Jira管理進版內容(Story、Bug) 若有沒有規劃的功能,通知威明(代理:程元),由其在向上回報。之後會開出對應的Story及Bug ### Bug直接上傳dev 若是處理沒被追蹤的Bug,通知QA開單紀錄,才能知道新增的Bug ### Story開分支 每個Story開一個分支,直到企劃負責人驗收完成才能合回dev ## 企劃 窗口:王亞弦、李芳儀、高帆君、邱奕程 企劃窗口可以把控企畫進版內容,知道本次企畫內容變更 ### 參數表由窗口人員統一上傳dev 其餘企劃在design git reposotory更新參數表,由窗口統一上傳client git reposotory dev分支。 ### 非參數表開分支,由企劃窗口決定是否和回dev 分支若是個人,可參考美術一人一條分支的命名方式 ## 美術 窗口:曾鈐麟、曲翎華 美術窗口可以把控美術進版內容,知道本次美術內容變更 ### 一人一條分支,由美術窗口決定是否和回dev(暫定) 分支命名 ***英文名***/***標題*** eg. eno/UI20221130 (Fork、SourceTree等GUI會自動做folder) ## Server 進版內容管理:林文卿 Jira Bug單窗口:陳克帆 ## 企美個人分支git教學(使用Tortoise Git) [練習用git repository testGit](http://192.168.3.114/projectZ/testgit.git) ### A. (Create) 建立分支:dev開自己的工作分支(第一次建立) 1. 將手頭正在處理的工作stash / commit起來 2. fetch 3. 線圖上點選orgin/dev最新的點,create branch![](https://hackmd.io/_uploads/HyoSfoxyj.jpg) 4. 名稱取自己的名字,點選switch to new branch![](https://hackmd.io/_uploads/ByyTfslJs.jpg) 5. Push。<font color=red>個人分支是不會被鎖的</font> ### B. (Switch) 切換分支 1. 將手頭正在處理的工作stash / commit起來 2. fetch 3. 線圖點選要去的origin/分支,switch / checkout to this![](https://hackmd.io/_uploads/HJG-Bsxyo.jpg) 4. 確認branch名稱無誤,點選override branch if exist![](https://hackmd.io/_uploads/S19PBjxki.jpg) ### C. (Rebase) 更新個人分支:更新最新dev資料進個人分支 1. fetch 2. 切換到個人分支 3. 點選線圖上origin/dev,Rebase {個人分支} onto this![](https://hackmd.io/_uploads/rymAUseki.jpg) 4. <font color=red>遇到衝突找client幫助</font> 5. 繼續正常作業(commit/push) ### D. (Rebase) 進版分支:rebase個人分支 onto dev(窗口負責人處理) 1. 執行 **步驟C**,不用push個人分支,進行驗收 2. 驗收通過,切換到最新dev分支 3. 點選線圖上origin/{個人分支},Rebase dev onto this 4. Push dev 5. 無法push通常是dev被人更新,再次回到步驟1 6. 通知該分支實作者功能已完成 ### E. 重複利用分支 1. 確認個人分支已被窗口rebase回dev。否則得創一個新分支處理不同功能 2. fetch 3. 切換到dev分支 4. 線圖點選個人分支,delete 5. 線圖點選origin/{個人分支},delete 6. 執行**步驟A**