我有一个小型 git 存储库,其中有多个分支
我需要确定何时以及谁将特定分支合并到 master 中。 我使用命令查看合并的分支
git branch --merged
但我还需要确定这件事是何时、由谁做的
使用更新
git log --merges
例如我有两个分支
执行
git log --merges
给了我
commit 430c9e85e527ab1a63693265e220a8c72ed2fd14
Merge: c5ce3bffc 3ce4f8bff
Author: author1
Date: Thu Feb 23 07:15:55 2017 +0300
Merge branch 'master'
commit a909cf5d0100ef1621965f1f4275bd05c1495427
Merge: c2a2a4430 bfda36db3
Author: author1
Date: Thu Feb 23 05:41:32 2017 +0300
Merge branch 'feature/3'
commit c5ce3bffc4bde8dc60ae264781e9c990e67daaa1
Merge: 4107e0817 b03ef505f
Author: author2
Date: Tue Feb 21 11:00:56 2017 +0300
Merge branch 'release/1' of https://tfs.awesomecode.com/EpicSystems/_git/EPC into release/1
commit b03ef505f177eaf82a31164a97daa1d63c4146f8
Merge: 3f9b75bb7 0ee5e531d
Author: author1
Date: Tue Feb 21 09:20:31 2017 +0300
Merge branch 'release/1' of https://tfs.awesomecode.com/epicsystems/_git/EPC
所以我不太明白日志中最后两次提交的作用..不清楚哪一个将release/1合并到master中
您可以使用 git log 来实现。
在
master
分支上执行
$ git log --merges
查看所有合并到
master
的日志。
为了更好地直观地了解正在发生的事情,请尝试一下
git log --decorate --oneline --graph
--decorate
将向日志条目添加注释,显示诸如 HEAD
之类的信息以及此特定提交代表哪个分支提示,例如origin/release/1
oneline
将产生更简洁的表示。每次提交只会显示主题行(你显然可以省略这个,但我发现这样更容易理解图表)graph
将打印提交历史记录的图形表示,其中 *
代表提交,而行则指示特定提交的父级图表将在顶部显示最新的提交
从这里开始,这是猜测,因为我不知道你的存储库的历史是如何演变的,但我猜测如下:
into
部分author2
分支的 release/1
更改与对同一分支进行的其他更改之间的冲突。这导致 feature/1
合并为 feature/1
(可能是某种 git rebase
)feature/3
被合并了master
分支被合并了