Git多人協(xié)同開發(fā)緊急修復(fù)線上bug操作指南
使用場景
- 團(tuán)隊(duì)協(xié)同開發(fā)時(shí),生產(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,因?yàn)闀?huì)和其他同學(xué)提交的測試中的代碼“撞車”,導(dǎo)致無法及時(shí)提及到生產(chǎn)環(huán)境。
- 這個(gè)時(shí)候如何正確使用Git管理代碼呢?
解決思路
- 首先我們從master拉取最新代碼到本次創(chuàng)建臨時(shí)分支
- 在本地緊急修復(fù)代碼,進(jìn)行測試,測試無誤后merge熱修復(fù)代碼到dev分支
- 本地merge測試分支和本地?zé)嵝迯?fù)分支的代碼,有沖突解決沖突,提交代碼(保證緊急更新的代碼能及時(shí)被其他同學(xué)拉取到)
- 測試環(huán)境進(jìn)行測試
- 測試無誤后切換到master分支,merge緊急修復(fù)分支代碼!(注意:是緊急修復(fù)分支的代碼,不是測試dev分支代碼,因?yàn)槲覀儫o法保證dev分支有無其他同學(xué)提交的未測試通過的代碼!!!)
- 推送master分支merge熱修復(fù)的代碼到遠(yuǎn)程倉庫,發(fā)布項(xiàng)目
- 如果需要的話添加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 版本號(hào) -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)隊(duì)協(xié)作是職業(yè)生涯中必須面對的問題,Git為我們代碼的協(xié)作管理提供了強(qiáng)大的工具。 熟悉Git操作,擁抱團(tuán)隊(duì)協(xié)作。
以上就是Git多人協(xié)同開發(fā)緊急修復(fù)線上bug操作指南的詳細(xì)內(nèi)容,更多關(guān)于Git協(xié)同開發(fā)線上bug修復(fù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
idea中的project、module、artifact的具體使用
本文主要介紹了idea中的project、module、artifact的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02一文詳解VSCode安裝配置使用(最新版超詳細(xì)保姆級含插件)
安裝VScode就很簡單了,一路NEXT就可以了,重點(diǎn)是配置使用以及插件推薦,這篇文章主要給大家介紹了關(guān)于VSCode安裝配置使用的相關(guān)資料,本文是最新版超詳細(xì)保姆級含插件,需要的朋友可以參考下2023-05-05瀏覽器緩存知識(shí)小結(jié)及應(yīng)用分析
了解瀏覽器的緩存命中原理,是開發(fā)web應(yīng)用的基礎(chǔ),本文著眼于此,學(xué)習(xí)瀏覽器緩存的相關(guān)知識(shí),總結(jié)緩存避免和緩存管理的方法,結(jié)合具體的場景說明緩存的相關(guān)問題。希望能對有需要的人有所幫助2017-03-03高性能WEB開發(fā) JS、CSS的合并、壓縮、緩存管理
本篇文章主要討論下目前JS,CSS 合并、壓縮、緩存管理存在的一些問題,然后分享下自己項(xiàng)目中用到的1個(gè)處理方案,并提供1個(gè)實(shí)例下載。2010-05-05Spark中的數(shù)據(jù)讀取保存和累加器實(shí)例詳解
這篇文章主要為大家介紹了Spark中的數(shù)據(jù)讀取保存和累加器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11