Git的使用 6 分支管理

2022-06-13 02:45:07 字數 1388 閱讀 9712

分支的簡單的理解就是分身,就像孫悟空拔出猴毛變出很多跟自己一模一樣的猴子,然後每個猴子做自己的事情互不干涉,等到所有猴子做完之後,猴子集合來合併勞動成果,然後悟空就把那些猴子猴孫門統統收回了。git的分支也是乙個殺手鐗級別的功能!

比如:你現在正在a.php裡面做新功能的增加,大約寫了300行**,突然,線上執行的**爆出了乙個bug,需要你放下一切手頭工作,全力解決這個bug,你去檢查後發現,原來是這個a.php,出了點bug,修改的話也就是20來行**完事。

這時候問題來了:你從線上直接down下a.php修改的話,這個bug當時處理了,但是等前面的那個300行**的後續工作做完,再傳到線上的時候,就把這次的bug修改又覆蓋掉了,bug依然會再次出現。如果你直接在你的開發版本上的a.php中修改的話,難保你新寫的這300行**不出新的bug。這時候咋辦?

這時候,我們的分支概念就起效了,下面我們可以看一下流程:

git branch 分支名

git branch命令會列出所有分支,當前分支前面會標乙個*號

git checkout 分支名

建立並切換到新分支,可以使用:

git checkout -b 分支名

git merge命令用於合併指定分支到當前分支,下面是乙個例子:先切換到master分支,然後將新分支my合併到master分支

git checkout master

git merge my

如果合併時加上--no-ff引數,表示禁用fast forward模式合併,如:

git merge --no-ff -m "merge with no-ff" my

合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

git branch -d 分支名

git branch -d 分支名

在實際開發中,我們應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活; 幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到master上,在master分支發布1.0版本; 你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。

Git系列6 分支 branch

很多時候我們需要給自己或者客戶用乙個穩定的版本庫,然後同時還在開發另外乙個公升級版.自然而然,我們會想到把這兩者分開處理,使用者使用穩定版,我們開發我們的開發版.不過 git 的做法卻不一樣,它把這兩者融合成了乙個檔案,使用不同的分支來管理.所以這一節我們來說說 git 中的 分支 branch.之...

Git10 分支管理

分支就是科幻電影裡面的平行宇宙,當你正在電腦前努力學習 git的時候,另乙個你正在另乙個平行宇宙裡努力學習 svn。如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合併了,結果,你既學會了 git又學會了 svn!分支在實際中有什麼用呢?假設你準備開發乙個新功能,但...

Git筆記 2 分支管理

svn有分支管理,但是建立和切換分支耗時特別長,形同虛設。建立於合併分支 檢視分支 git branch 建立分支 git branch 切換分支 git checkout 建立 切換分支 git checkout b 合併某分支到當前分支 git merge 刪除分支 git branch d 強...