确定分支何时合并到另一个分支

Ant*_*ton 4 git

我有一个小的 git 仓库,里面有多个分支

我需要确定何时以及谁将特定分支合并到 master。我使用命令查看合并的分支

git branch --merged
Run Code Online (Sandbox Code Playgroud)

但我还需要确定何时以及谁做了这件事

使用更新 git log --merges

例如我有两个分支

  • 掌握
  • 发布/1

执行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
Run Code Online (Sandbox Code Playgroud)

所以我不太明白 log 的最后两个提交做了什么.. 哪个合并 release/1 到 master 并不明显

Ani*_*pis 5

你可以使用git log

当一个master分支执行一个

$ git log --merges
Run Code Online (Sandbox Code Playgroud)

查看所有合并到master.


为了更好地直观地了解正在发生的事情,请尝试 git log --decorate --oneline --graph

  • --decorate将向日志条目添加注释,显示诸如HEAD此特定提交代表的分支提示之类的信息,例如origin/release/1
  • oneline将产生更简洁的表示。每次提交只会显示主题行(您显然可以省略这一点,但我发现这样更容易理解图表)
  • graph将打印您的提交历史的图形表示,并*表示提交和行以指示特定提交的父项

图表将在顶部显示最新的提交


从这里开始,这是猜测,因为我不知道您的存储库的历史是如何演变的,但我猜想如下:

  • 我真的不知道最后一次提交是什么意思,因为它似乎缺少into部分
  • 第二次提交(从底部开始)可能来自author2release/1分支的更改之间的冲突,而对同一分支进行的其他更改可能会发生。这导致合并feature/1feature/1(某种git rebase可能)
  • 然后feature/3被合并了
  • 然后master分支合并了