Git多人協同開發緊急修復線上bug操作指南
使用場景
- 團隊協同開發時,生產環境出現bug,需要緊急修復。
- 每位同學在本地開發,對應本地的dev分支,本地測試通過後提交到測試環境的dev分支。
- 測試環境有其他同學提交的代碼,正在測試中,無法提交到生產環境的master分支。
- 以上情況導致我們不能在本地基於dev分支修復bug,因為會和其他同學提交的測試中的代碼“撞車”,導致無法及時提及到生產環境。
- 這個時候如何正確使用Git管理代碼呢?
解決思路
- 首先我們從master拉取最新代碼到本次創建臨時分支
- 在本地緊急修復代碼,進行測試,測試無誤後merge熱修復代碼到dev分支
- 本地merge測試分支和本地熱修復分支的代碼,有沖突解決沖突,提交代碼(保證緊急更新的代碼能及時被其他同學拉取到)
- 測試環境進行測試
- 測試無誤後切換到master分支,merge緊急修復分支代碼!(註意:是緊急修復分支的代碼,不是測試dev分支代碼,因為我們無法保證dev分支有無其他同學提交的未測試通過的代碼!!!)
- 推送master分支merge熱修復的代碼到遠程倉庫,發佈項目
- 如果需要的話添加tag標簽,標記一下操作。
- 刪除熱修復分支,切換到dev分支,繼續自己的本地開發。
操作流程
- 切換到master分支,拉取最新代碼
git checkout master git pull
- 基於master分支創建熱修復分支
git branch master_hotfix
- 切換到熱修復分支
git checkout master_hotfix
- 本地開發,修復bug,測試
coding
- 本地測試通過後,merge熱修復代碼到dev分支
git checkout dev git merge master_hotfix
- 解決沖突,提交代碼,測試環境進行測試
git push origin dev
- 測試通過後,merge熱修復代碼到master分支
git checkout master git merge master_hotfix
- 推送master代碼到遠程倉庫
git push origin master
- 添加tag標記:git tag -a 版本號 -m "註釋"
git tag -a 1.1.0 -m "緊急修復xxbug"
- 推送tag
git push --tag
- 刪除熱修復分支
git branch -d master_hotfix
- 切換到開發分支,進行本地開發
git checkout dev
附錄:Git使用的小技巧
Git命令別名
- 首先找到Git的配置文件,比如Mac系統下
vim ~/.gitconfig
- 在配置文件中根據自己的使用習慣添加[alias],比如:
[alias] br = branch ci = commit cl = clone co = checkout cp = cherry-pick cfg = clone df = diff fh = fetch lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative" mg = merge pl = pull plr = pull --rebase rb = rebase ph = push rmt = remote rst = reset sh = stash st = status sts = status -s sbm = submodule sw = show swf = "show --name-status" delb = "push origin --delete" delt = "push origin :" mb = merge-base
- 這樣我們就能使用簡化後的命令操作git瞭,進一步提高瞭效率。
比如:
git commit -m'註釋'
可以簡化為:
git ci -m'註釋'
總結
團隊協作是職業生涯中必須面對的問題,Git為我們代碼的協作管理提供瞭強大的工具。 熟悉Git操作,擁抱團隊協作。
以上就是Git多人協同開發緊急修復線上bug操作指南的詳細內容,更多關於Git協同開發線上bug修復的資料請關註WalkonNet其它相關文章!