iT邦幫忙

2021 iThome 鐵人賽

DAY 15
3
Modern Web

曼曼來比較快_Git 版本控制系列 第 15 篇

【Day15】Git 版本控制 - 合併分支(git merge)

  • 分享至 

  • xImage
  •  

在上一篇文章中有提到如何「創建分支」以及「切換分支」的方法,以下圖當範例來解釋:下圖的情況是 master 版本比較舊,commit 的檔案位置是在 v3,而 func1 的版本比較新,commit 的檔案位置在 v4。

倘若我們也想讓 master 擁有 v4 的 commit 的話,接下來就應該將兩個分支合併,這樣 master 跟 func1 所擁有的 commit 就會相同了。

而合併的指令也很簡單,只要先將 head 移動到較舊的分支上,再使用以下指令就可以進行合併了(注意:以下指令中的 <branch_name> 指的是較新版本的分支)

git merge <branch_name>

git merge

接下來,就讓我們實際操作看看吧!

首先,先使用 git log 查詢一下目前的狀況:

可以看到 func1 這條分支的 commit 位置是在 replace(*, +),而 master 這條分支則是在 Create README.md 的這個 commit 上,由此可以看出 master 所在的位置是比較舊的 commit,因此,接下來我們要將 func1 跟 master 合併。

因為 master 的 commit 是比較舊的,所以我們要先將 head 移動到 master 上。

git checkout master

接下來再使用以下指令將 func1 合併到 master 上。

git merge func1

這樣就成功將 func1 和 master 上的 commit 合併拉!

在本次的解說中,我們可以更清楚 git status 跟 git log 的差異,在建立跟合併分支的過程中我們經常使用 git log 這個指令來查看狀態,這是因為 git log 是負責管理本地數據庫的,而 git status 則是負責管理本地檔案和索引區的。


上一篇
【Day14】Git 版本控制 - 建立分支(branch)
下一篇
【Day16】Git 版本控制 - 多人協作 Fork(1)
系列文
曼曼來比較快_Git 版本控制 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言