詳解git的分支與合併的兩種方法

2022-09-21 00:09:11 字數 1421 閱讀 5074

如何將兩個分支合併到一起。就是說我們新建乙個分支,在其上開發某個新功能,開發完成後再合併回主線。

1.   git merge

咱們先來看一下第一種方法 ——git merge

在 git 中合併兩個分支時會產生乙個特殊的提交記錄,它有兩個父節點。翻譯成自然語言相當於:「我要把這兩個父節點本身及它們所有的祖先都包含進來。」下面具體解釋。

# 建立新分支 bugfix

git br程式設計客棧anch bugfix

# 切換到該分支

git checkout bugfix

# 提交一次

git commit

# 切換回 m

git checkout master

# 再提交一次

git commit

# 用 git merge 把 bugfix 合併到 master

git merge bugfix

(master 的分支被混入到所有的提交記錄,但 bugfix 沒有,所以要進行下面的操作)

# 再把 master 分支合併到 bugfix(因為 master 繼承自 bugfix,git什麼都不用做,只是簡單地把 bugfix 移動到 master所指向的那個提交記錄。)

git checkout bugfix;

git merge master

2.  git rebase

第二種合併分支的方法是git rebase。rebase 實際上就是取出一系列的提交記錄,「複製」它們,然後在另外乙個地方逐個的放下去。

rebase 的優勢就是可以創造更線性的提交歷史,這聽上去有些難以理解。如果只允許使用 rebase 的話,**庫的提交歷史將會變得異常清晰。

# 建立新分支程式設計客棧 bugfix分支

git branch bugfix

#提交一次(提交在master分支上)

git commit

# 切換到bugfix分支

git checkout bugfix

# 提交一次(提交在bugfix分支上)

git commit

#使用git rebase把 bugfix 分支裡的工作直接移到 master 分支上(移動以後會使得兩個分支的功能看起來像是按順序開發,但實際上它們是並行開發#的)。

git rebase master

注意:提交記錄 c3 依然存在(樹上那個半透明的節點),而 c3'是我們 rebase 到 master 分支上的 c3 的副本。

#切換到master分支上(為了進行更新master的操作)

git checkout master

#把master的 rebase 到 bugfix 分支上(由於 bugfix 繼承自 master,所以 git 只是簡單的把 ma程式設計客棧ster 分支的引用向前移動了一下而已。)

git rebase bugfix

git合併遠端分支到本地分支的兩種方式

在使用版本號工具提交改動之前,都須要通過update先將本地 更新到最新版本號。svn通過svn update就能夠實現,那麼git怎樣實現呢?root wade nodejs express routing git fetch git github.com billfeller express r...

git分支合併的兩種方法及比較

前面的部落格中提及了git工具的基本用法和github的用法,今天講講git工具合併兩個分支的區別的 兩種合併的方法有git merge 和git rebase 第一種 git merge 用於從指定的分支 節點 合併到當前分支的操作 git會將指定的分支與當前的分支進行比較,找出二者最近的乙個共同...

git分支的建立與合併

建立新分支develop git checkout b develop 推動到遠端 git push set upstream origin develop 切換到master分支 git checkout master 將develop的修改合併回master git merge develop ...