压缩 Git 提交记录并保留作者信息

31

我的同事(我们在这里称他为约翰)和我正在开发一个新功能,我们的工作分支看起来像下面这样

--o--o--o # this is develop branch
   \   o--o--o # this is John's branch
    \ /       \
     o----o--o--o--o--o--o # this is our cowork branch
      \                 /
       o--o--o--o--o--o  # this is my branch
我们完成了工作并准备将我们的合作分支合并到开发分支中。
此时,合作分支中有许多提交记录,不希望其他开发人员看到。因此,我想将这些提交记录压缩成一个提交记录。
但是,在压缩(解决一些冲突)之后,我发现作者信息都直接指向我,没有John的信息。
那么我的问题是,在合并这些提交记录时,有没有办法保留John和我的信息?

这种情况对我来说有点令人困惑。如果我没记错的话,实际上有两组合并,一组是你和约翰合并到“cowork”分支,另一组是将“cowork”合并到“develop”分支。就我个人而言,你可以在“develop”上变基“cowork”,然后快进后者分支。 - Tim Biegeleisen
2个回答

22

你可以通过使用 提交信息约定 来实现类似的效果。包括 GitHub 在内的大多数 git 客户端都支持此功能。

具体来说,在您的提交信息的结尾添加以下内容:

Co-authored-by: John Smith <john.smith@example.com>

您可以多次包含此行以添加多个共同作者。


4
说实话,git缺乏将多个开发人员信息添加到单个提交中的功能。
但是,有一些方法可以解决这个问题。在您从cowork分支合并更改到develop分支时,它会创建一个合并提交,在合并之前,您可以执行以下操作: git config user.name "Chris Wilson and John Smith" 请参考此处了解有关添加多个开发人员信息以进行单个提交的解决方法的更多信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接