Git分支操作(Git branch)

2021-07-03 09:50:13 字數 2897 閱讀 4015

標題已經透露了本篇博文的目標:熟悉git的基本分支操作。

假定你已經熟悉git的基本操作,如轉殖倉庫,提交**等等。

你也需要了解git的基本概念,例如git的branch,commit等。

如果你還不熟悉這些,請移步

切換到develop

$ git checkout develop

更新develop

$ git pull origin develop

建立分支

$ git checkout -b hfd_project_a_local

此時我們就擁有了乙個名為hfd_project_a_local的分支。它和develop分支是一模一樣的,名字除外。

$ git push origin 《本地分支名》:《遠端分支名》

$ git push origin hfd_project_a_local:hfd_project_a

此時,你在origin指向的遠端倉庫建立了

hfd_project_a,它是

hfd_project_a_local的拷貝。

有時你需要在他人已經建立好的分支上進行開發,此時你就要用到這個技能了。

$ git fetch origin 《遠端分支名》:《本地分支名》

$ git fetch origin hfd_project_a:hfd_project_a_local

此時,你本地擁有了

hfd_project_a_local,它是遠端分支

hfd_project_a的拷貝。

在團隊合作時,你和同事都不斷將自己的**提交到遠端倉庫,為了將遠端的**同步到本地,你可以:

$ git checkout hfd_project_a_local

$ git pull origin 《遠端分支名》

$ git pull origin hfd_project_a

如果一切順利的話,遠端的**就已經合併到你的本地分支了。

在並行開發等情況下,你可能需要將乙個分支合併到另乙個分支

$ git checkout hfd_project_b

$ git pull origin hfd_project_b

$ git checkout hfd_project_a

$ git pull origin hfd_project_a

$ git merge hfd_project_b

一切順利,此時hfd_project_b成功合併到了hfd_project_a

在更新分支、合併分支時,如果遇到阻礙,那往往是因為遇到了衝突,這意味著git不能自動合併兩個檔案了。

如此,我們只能手動解決衝突。

$ git merge hfd_project_b

/lib/dao/hfd/kernel/orderdetail.php

conflict (content): merge conflictin/lib/dao/hfd/kernel/orderdetail.php

automatic merge failed; fix conflicts andthencommit the result.

$ git status

# on branch hfd_project_a

# unmerged paths:

#

開啟遇到衝突的檔案,找到類似如下的內容

<<<<<<< head

$oorm->addfilter('istatus','=', 1);

*****==

$oorm->addfilter('istatus','=', 0);

>>>>>>> hfd_project_b

經過確認,我們確定了應該保留哪一行,上面的內容改為

$oorm->addfilter('istatus','=', 1);

告訴git我們已經解決衝突了

/lib/dao/hfd/kernel/orderdetail.php

$ git status

# on branch hfd_project_a

# changes to be committed:

#

#

nice,可以提交**了。

這往往發生在qa同事已經測試完畢,恭喜你,你的分支通過測試了。

然後,你就可以按照「合併分支」部分的描述,將你的開發分支合併到develop。

git操作分支

你也許會有疑惑,為什麼需要建立分支呢,只在主幹線上進行開發不是挺好的嗎?沒錯,通常情況下,只在主幹線上進行開發是完全沒有問題的,不過一旦涉及到出版本的情況,如果不建立分支的話,你就會非常地頭疼。舉個簡單的例子吧,比如說你們公司研發了一款不錯的軟體,最近剛剛完成,並推出了1.0版本。但是領導是不會讓你...

git分支操作

檢視分支git branch v新建分支git branch new branch切換分支git checkout new branch新建分支並切換過去git checkout b new branch在某分支上新建分支git checkout b new branch old branch重新命...

Git分支操作

1.建立本地分支 git branch 分支名,例如 git branch 2.0.1.20120806 注 2.0.1.20120806是分支名稱,可以隨便定義。2.切換本地分支 git checkout 分支名,例如從master切換到分支 git checkout 2.0.1.20120806...