github桌面合并提交隐藏评论

时间:2016-03-24 13:05:39

标签: git github-for-windows github-desktop

我们正在使用Github Desktop(以前的Github for Windows)作为我们的Git客户端。我们经常遇到以下情况:

开发人员A使用可爱的解释性消息提交了大量更新。 开发人员B一直在同一个分支中工作,然后提交一条消息。

开发人员B的提交消息显示在git日志中,然后,我们从Developer B获得一个合并提交,其中包含一个自动消息“merge branch ...”。合并提交包含所有Developer A的更改,但Developer A的可爱消息已经消失。看起来这种行为有所改变 - 它过去很少发生,现在似乎一直在发生。

(很难找到Github Desktop中“同步”按钮的最新信息,但我确实发现a reference建议它曾用git pull --rebase和然后改变了。这似乎符合这个合并提交问题比以前更糟的事实。)

所以我的问题是:有没有办法防止丢失开发者A的提交消息?

已编辑添加: 似乎问题是双重的: 1)我们的开发人员在提交之前并不总是做拉,导致合并提交。原始提交不会丢失,但不可见。 2)Github Desktop显示日志的方式是显示合并提交但未显示原始提交。以下是我从Github Desktop团队收到的电子邮件中的评论:

  

进一步深入研究,看起来确实如此   由于我们在显示时使用的--first-parent标志而隐藏   GitHub桌面的历史。目前没有办法改变这一点   行为。

     

这是我们为什么这样做的开发者的理性背后的一些理性   GitHub桌面共享:

     

“GitHub Desktop针对GitHub Flow进行了优化。在此模型中,合并   几乎总是代表(1)一个分支合并到   通过拉取请求的默认分支或(2)从中更新的分支   默认分支。

     

在第一种情况下,查看哪些拉取请求最有用   已合并 - 而不是构成拉取请求的单个提交。   我们认为拉取请求是惊人的,对理解非常有用   历史,所以我们想要优先考虑它们。

     

在第二种情况下,只查看合并中提交的提交   模糊了分支上的变化。看到它是最有用的   提交对于分支而言是唯一的。“

我们最终觉得Gi​​thub Desktop可能不适合我们 - 我个人已经切换到GitKraken,我们很多人都在使用命令行。

2 个答案:

答案 0 :(得分:2)

Git合并不应该那样。如果您无法确定您的Git GUI正在执行哪些命令(合并,rebase,壁球......),我建议您使用命令行执行A B 2,这样您就可以控制发生的事情。

由于大多数图形Git客户端带来的模糊和词汇混淆,我倾向于提倡命令行Git。

答案 1 :(得分:1)

开发人员A的提交消息可能不会丢失。这是Github Desktop应用程序显示提交的方式。

您可以通过运行git log --graph来检查您是否确实丢失了提交。

如果您希望客户端显示合并的提交,您可以使用SourceTreeTortoiseGit

有关详细信息,请参阅this answerthis question