一、基本開發流程:
二、分支命名
2.1主分支
① master :隨時可供在生產環境中部署的代碼
② dev: 保存當前穩定並且最新的開發分支(多人開發同一分支)
2.2輔助分支
2.3根據實際開發情況合理命名分支:分支類型_開發者_時間_開發內容
三、git-commit
3.1什么時候commit?
3.2 commit注釋
3.3 多次提交合並為一次提交(rebase)

b.選擇origin master
c.commit 合並
d.存在沖突時,必須要解決
e.繼續 rebase
四、 Git-push
4.1什么時候push?
① 代碼需要提測,並且自己都測試OK了,如果一次性測試通過則可以把master合並到自己的分支,然后push自己的分支,進行提測
② 代碼提測了,如果有問題,把問題修改好后,再push自己的分支。
4.2 push流程
- git fetch
- git checkout dev
- git branch -b copy_dev(copy新分支進行合並)
- git merge origin master (存在沖突必須解決)
解決沖突:
a) git reset --HARD HEAD^
b) git lg(查看你的所有提交的歷史)
- git checkout dev
- git merge copy_dev
- git branch -d copy_dev
- git push origin dev
五、Git-issue
5.1對需求完全了解后,開發前先整理思路,在git上填寫Issues
① 整理思路,快速開發代碼
② 方便后續出現線上問題,快速定位
③ 有類似功能開發時,方便別人借鑒,和自己快速回憶
④ 相互學習
5.2 寫完Issues后,找有相關開發經驗同事評審
5.3 影響范圍較大的Issues必須拉上大家一起評審
5.4 issues規范 (別人一看就懂)
① 需求概述
② 難點,解決方案
③ 概要設計
④ 詳細設計
六、git-codeReview
6.1 代碼開發完畢,自測通過后,提測之前,在git上提merge Requests
① WIP:分支標題
② Issues
6.2 找有相關開發經驗人員進行評審
6.3 按照評審人的建議進行修改,修改后自測
七、 Git-merge
7.1 merge流程
① merge之前保證自己的工作區是干凈的
② fetch,更新本地倉庫
③ 合並master,如果出現merge conflict,找到相關開發人員一起解 決,確保操作正確
④ merge完成后,驗證是否成功
7.2 合主干
① 多人在不同分支上開發多個需求,需要同時上線,事先確定各自上線時間
② 別人合主干后,需要再次拉取最新的master進行merge,進行回歸測試
③ 上線的代碼一定是提測的代碼,是完全一模一樣,中間如果有過合並代碼就要重新提測,早合並代碼比較合適
④ merge Request上,需要附帶Issue,代碼評審人,測試用例