Git多人協(xié)同開發(fā)緊急修復(fù)線上bug操作指南
更新時間:2022年06月25日 11:55:00 作者:王中陽Go
這篇文章主要為大家介紹了Git多人協(xié)同開發(fā)緊急修復(fù)線上bug操作指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
使用場景
- 團(tuán)隊協(xié)同開發(fā)時,生產(chǎn)環(huán)境出現(xiàn)bug,需要緊急修復(fù)。
- 每位同學(xué)在本地開發(fā),對應(yīng)本地的dev分支,本地測試通過后提交到測試環(huán)境的dev分支。
- 測試環(huán)境有其他同學(xué)提交的代碼,正在測試中,無法提交到生產(chǎn)環(huán)境的master分支。
- 以上情況導(dǎo)致我們不能在本地基于dev分支修復(fù)bug,因為會和其他同學(xué)提交的測試中的代碼“撞車”,導(dǎo)致無法及時提及到生產(chǎn)環(huán)境。
- 這個時候如何正確使用Git管理代碼呢?
解決思路
- 首先我們從master拉取最新代碼到本次創(chuàng)建臨時分支
- 在本地緊急修復(fù)代碼,進(jìn)行測試,測試無誤后merge熱修復(fù)代碼到dev分支
- 本地merge測試分支和本地?zé)嵝迯?fù)分支的代碼,有沖突解決沖突,提交代碼(保證緊急更新的代碼能及時被其他同學(xué)拉取到)
- 測試環(huán)境進(jìn)行測試
- 測試無誤后切換到master分支,merge緊急修復(fù)分支代碼!(注意:是緊急修復(fù)分支的代碼,不是測試dev分支代碼,因為我們無法保證dev分支有無其他同學(xué)提交的未測試通過的代碼!!!)
- 推送master分支merge熱修復(fù)的代碼到遠(yuǎn)程倉庫,發(fā)布項目
- 如果需要的話添加tag標(biāo)簽,標(biāo)記一下操作。
- 刪除熱修復(fù)分支,切換到dev分支,繼續(xù)自己的本地開發(fā)。
操作流程
- 切換到master分支,拉取最新代碼
git checkout master git pull
- 基于master分支創(chuàng)建熱修復(fù)分支
git branch master_hotfix
- 切換到熱修復(fù)分支
git checkout master_hotfix
- 本地開發(fā),修復(fù)bug,測試
coding
- 本地測試通過后,merge熱修復(fù)代碼到dev分支
git checkout dev git merge master_hotfix
- 解決沖突,提交代碼,測試環(huán)境進(jìn)行測試
git push origin dev
- 測試通過后,merge熱修復(fù)代碼到master分支
git checkout master git merge master_hotfix
- 推送master代碼到遠(yuǎn)程倉庫
git push origin master
- 添加tag標(biāo)記:git tag -a 版本號 -m "注釋"
git tag -a 1.1.0 -m "緊急修復(fù)xxbug"
- 推送tag
git push --tag
- 刪除熱修復(fù)分支
git branch -d master_hotfix
- 切換到開發(fā)分支,進(jìn)行本地開發(fā)
git checkout dev
附錄:Git使用的小技巧
Git命令別名
- 首先找到Git的配置文件,比如Mac系統(tǒng)下
vim ~/.gitconfig
- 在配置文件中根據(jù)自己的使用習(xí)慣添加[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了,進(jìn)一步提高了效率。
比如:
git commit -m'注釋'
可以簡化為:
git ci -m'注釋'
總結(jié)
團(tuán)隊協(xié)作是職業(yè)生涯中必須面對的問題,Git為我們代碼的協(xié)作管理提供了強(qiáng)大的工具。 熟悉Git操作,擁抱團(tuán)隊協(xié)作。
以上就是Git多人協(xié)同開發(fā)緊急修復(fù)線上bug操作指南的詳細(xì)內(nèi)容,更多關(guān)于Git協(xié)同開發(fā)線上bug修復(fù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
完美解決瀏覽器輸入http被自動跳轉(zhuǎn)至https問題
很多朋友問小編瀏覽器輸入http被自動跳轉(zhuǎn)至https問題,到底該怎么解決呢,其實解決方法很簡單,主要關(guān)閉瀏覽器的HSTS功能就可以了,關(guān)于http自動跳轉(zhuǎn)至https的解決方法跟隨小編一起看看吧2021-05-05
windows下Idea使用git clone failed. Could not read from remote r
這篇文章主要介紹了windows下Idea使用git clone failed. Could not read from remote repository.,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
從此不再懼怕URI編碼 JavaScript及C# URI編碼詳解
JavaScript中的還好,只提供了三個,C#中主要用的就有這么多,還沒有列出其他編碼(HTML),一多就弄不明白,弄不明白就心生恐懼,心生恐懼就變得苦逼,本文就向大家詳細(xì)解釋在JavaScript及C#中如何對URI進(jìn)行編碼的方法(注:本文不涉及到其他編碼)。2012-03-03

