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

在上一篇文章中有提到如何「创建分支」以及「切换分支」的方法,以下图当范例来解释:下图的情况是 master 版本比较旧,commit 的档案位置是在 v3,而 func1 的版本比较新,commit 的档案位置在 v4。

倘若我们也想让 master 拥有 v4 的 commit 的话,接下来就应该将两个分支合并,这样 masterfunc1 所拥有的 commit 就会相同了。

而合并的指令也很简单,只要先将 head 移动到较旧的分支上,再使用以下指令就可以进行合并了(注意:以下指令中的 <branch_name> 指的是较新版本的分支)

git merge <branch_name>

git merge

接下来,就让我们实际操作看看吧!

首先,先使用 git log 查询一下目前的状况:

可以看到 func1 这条分支的 commit 位置是在 replace(*, +),而 master 这条分支则是在 Create README.md 的这个 commit 上,由此可以看出 master 所在的位置是比较旧的 commit,因此,接下来我们要将 func1master 合并。

因为 master 的 commit 是比较旧的,所以我们要先将 head 移动到 master 上。

git checkout master

接下来再使用以下指令将 func1 合并到 master 上。

git merge func1

这样就成功将 func1master 上的 commit 合并拉!

在本次的解说中,我们可以更清楚 git statusgit log 的差异,在建立跟合并分支的过程中我们经常使用 git log 这个指令来查看状态,这是因为 git log 是负责管理本地数据库的,而 git status 则是负责管理本地档案和索引区的。


<<:  33岁转职者的前端笔记-DAY 30 终点也是起点

>>:  DAY15:Toast显示讯息之实作

[VSCodeVim] Vim的思维、哲学与解决问题之道 (二)

Vim的思维、哲学与解决问题之道 (二) [系列文目录] 上篇文章 我们提到了两点使用Vim的重点原...

D-22 物件 object ? class ? interface

物件 object 是什麽 昨天一直有提到一个关键字物件不过一直没有说明什麽是物件,因为就等着这一篇...

【Docker图解教学】Kubernetes & Docker的分手肥皂剧

Youtube连结:https://bit.ly/2MbU9cR 前阵子在社群广为流传的议题「轰都...

Day21 职训(机器学习与资料分析工程师培训班): Django + Google Cloud

今天重点在於资料库的部分,先以sqlite3建置资料,後面将database设定改成使用MySQL ...

人脸辨识-day23 资料的型态

在每种资料在影藏些资讯,但会因单位或数值的不同,导致代表的意义也有所不同,有以下的类别,Nomina...