Git 分支的建立 合併 管理和刪除

2021-08-02 23:02:42 字數 2202 閱讀 6004

如果想實現多人協作、劃出bug區、feature區等功能,就需要分支功能。(確實很強大的地方)

每次commit時,git都把它們串成一條時間線,這條時間線就是乙個分支。截止到目前,只有一條時間線,在git裡,這個分支叫主分支,即master分支。而此時head也指向master

每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長。

當我們建立新的分支dev的時候,將head指向dev,這時候就在dev分支上了。

建立分支:git branch 分支名字

進入分支:git checkout 分支名字

建立並且進入分支:git checkout -b 分支名字

如果想檢視當前在哪個分支:git branch

如果在dev分支下提交一張**,此時,工作區是有**的(在資料夾檢視)。然後切換到master分支,會發現本地的工作區被重新整理了一下,然後不見了。在命令列ls檢視檔案列表也沒有(如截圖所示)。此時,需要將dev分支合併到master分支

合併分支:git merge 分支名字。將分支合併到當前分支。這時可以發現,**出現了。(附截圖)

注意到上面的fast-forward資訊,git告訴我們,這次合併是「快進模式」,也就是直接把master指向dev的當前提交,所以合併速度非常快。當然,也不是每次合併都能fast-forward。

如果加上--no-ff引數就是普通合併模式。這樣就保留了歷史資訊。

如果兩個或多個分支對同一檔案作出不同的操作,合併的時候就會有衝突

如下面截圖先在dev中修改txt,再在master中作出不同的修改。

此時,git merge dev就會報錯,提醒有衝突,需要手動解決

當然,也可以通過git status檢視,會發現both modified的錯誤提示。或者cat temp.txt,不同分支的修改的不同之處被標註了出來。

在當前分支修改檔案內容並且再次提交修改,即可以解決衝突。

一條命令:git branch -d 分支名字即可刪除

如果分支還未合併到當前分支:git branch -d 分支名字強制刪除。

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

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;

那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到master上,在master分支發布1.0版本;

你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了

最後發布時,再將dev合併到master

csdn位址 :

也可以致信進行交流 : [email protected]

Git 分支的建立 合併 管理和刪除

如果想實現多人協作 劃出bug區 feature區等功能,就需要分支功能。確實很強大的地方 每次commit時,git都把它們串成一條時間線,這條時間線就是乙個分支。截止到目前,只有一條時間線,在git裡,這個分支叫主分支,即master分支。而此時head也指向master。每次提交,master...

git 分支管理(分支的建立 使用 合併 刪除)

1 分支 1 概念 每提交一次 就會有乙個記錄,git把這些提交 的時間點串聯起來,就把他們變成了一條時間線,這條時間線就是乙個分支。一般情況下,只有一條時間線,這個分支叫作主分支,即master分支。head指標 指向當前的分支,預設指向master 嚴格來說是不指向提交的,而是指向master,...

git分支的建立,合併,刪除

一開始的時候,master分支是一條線,git用master指向最新的提交,再用head指向master,就能確定當前分支,以及當前分支的提交點。每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長。當我們建立新的分支,例如dev時,git新建了乙個指標叫...