1. 程式人生 > >Git多分支開發上線合併問題

Git多分支開發上線合併問題

一、專案背景: 專案AB分支同時進行開發時,A分支開發過程中有其他分支B上線,並且B分支上線版本已同步(merge)到master,則須合併已上線版本到正在開發的分支A上,避免A分支上線時覆蓋B分支的程式碼,導致功能倒退。 二、命令列合併步驟: 方案一: 1.克隆配置庫到本地: git clone 【git url】 【本地路徑】 2.切換到開發分支A: git checkout 【開發分支】 3.合併master到開發分支(因為B已經同步到master,於是將master合併到A,保證A上涵蓋B以上線的最新程式碼): git merge --no-ff master 4.將合併後代碼推送到遠端庫:
git push origin 【開發分支】 以上步即已經完成B分支上線後,將程式碼同步到master,再將master程式碼合併給A的操作。根據公司要求,還需要打tag標識。 5.打合並後標籤,合併標籤命名規則:tag/Tag_git庫名_模組名稱_三位版本名稱_merge_四位版本名稱   例如:tag/Tag_pmo_testgit-dwf_6-0-11_merge_6-0-9-2 git tag -a 【mergetagname】 -m 'create merge tag ,name is 【mergetagname】' 6..將標籤推送到遠端庫: git push origin 【mergetagname】
7.手工合併完成 方案二: 同事介紹了一個類似於svn client的git工具,可通過UI頁面完成以上操作。 1、比較差異 2、解決衝突-對比本地和遠端程式碼,選擇兩邊有效程式碼分別複製到有效區域,點選“解決衝突”即可。 3、提交分支A程式碼 三、分支合併 背景:AB分支分別開發兩個系統功能,結果將應寫到B分支的程式碼,寫到了A分支上。 解決方案: 1、照常將A分支上程式碼提交,並push到遠端。 2、切換到B分支,執行merge操作,將A分支中,開發的程式碼合併到B上,B提交測試即可。 git checkout B git merge A
ps:後期附送工具下載連結 最後再附送一個萬能git提交忽略.setting等檔案的配置。拷貝替換本地gitignore檔案即可。
# maven ignore
target/

# eclipse ignore
.settings/
.project
.classpath

# idea ignore
.idea/
*.ipr
*.iml
*.iws

# temp ignore
*.log
*.cache
*.diff
*.patch
*.tmp

# system ignore
.DS_Store
Thumbs.db

# package ignore (optional)
# *.jar
# *.war
# *.zip
# *.tar
# *.tar.gz

/log