如何在 git 中保留以前的提交者名称



为了清理我们的代码,我们想使用 astyle。问题是我们希望有人做这项工作,但责怪以前的提交者(代码的真正作者,而不是清理者)。

有没有办法在 git 中安全地做到这一点?

问题是当你清楚地考虑它时。你让一个人更改你的代码,但你看不到这是清理期间的人。那将是非常愚蠢的。

所以在我看来,你不应该那样做。让那个人通过正常提交更改代码。

您可以做的是在提交期间设置作者。

git checkout master
git merge my_branch
git commit --amend --author="Your name <my.adress@email.com>"
git push origin master

或者直接在提交时设置它。

git commit --author="Your name <my.adress@email.com>" ....

但我认为这不是最好的方法。

编辑:有一个非常聪明的短语不要与框架作斗争

至少有两种方法可以处理这种情况。

新提交,被git blame忽略

你不能做的是有一个被git blame完全忽略的"透明提交"。但是您可以要求git blame忽略带有git blame -w的空格更改。在执行代码重新格式化时无需执行任何操作。

改写历史

另一种选择是重写历史记录,以便新历史记录看起来代码在提交时格式正确。请注意,历史记录重写是一项危险的操作,只有在完全了解这样做的后果时才应使用它。

您可以使用 git rebase -i --exec 进行批量重写。

相关内容

  • 没有找到相关文章

最新更新