如果没有新的提交,是否有可能在git中查看谁合并了一个分支?

时间:2017-01-12 10:14:53

标签: git github version-control merge git-branch

用户A在“主”分支中提交(1)。

用户B在“功能”分支中基于(1)提交(2)和(3)。

用户A合并(3)到主分支。

所以现在它看起来像这样:

  • hash3 - (origin / master,origin / feature)commit 3(用户B)
  • hash2 - commit 2(用户B)
  • hash1 - commit 1(用户A)

现在看来用户B已经提交到主分支。但他没有。看起来这只是因为用户A已合并。但没有这种合并的记录。只显示提交。

是否有任何记录将此提交视为由两个不同的用户完成的两个不同的操作(提交然后合并),而不仅仅是将它们显示为一件事?

1 个答案:

答案 0 :(得分:2)

听起来你有一个场景,当一个用户从一个功能快进master分支时,并且在这个过程中引入了由另一个开发人员完成的提交。没有留下任何痕迹,所以看起来有两个开发人员做了这些提交,而事实上快进是由一个开发人员完成的。

即使发生快进,也有一种强制合并提交的方法,并且不需要合并提交。如果您计划将feature合并到master,则可以使用--no-ff标志保证合并提交:

git checkout master          # switch to master
git merge --no-ff feature    # merge feature into master; force merge commit

当然,如果您使用的是GitHub或Bitbucket,则可能会在存储库本身进行此合并。在这种情况下,您必须配置您的特定提供商才能执行此操作。

参考: Why does git fast-forward merges by default?