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

时间:2015-04-28 10:26:29

标签: git blame git-blame

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

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

2 个答案:

答案 0 :(得分:2)

问题在于你清楚地想到它。你让一个人改变你的代码,但你不能在清理过程中看到这是那个人。那将是非常愚蠢的。

所以在我看来你不应该这样做。让那个人用正常的提交来改变代码。

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

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>" ....

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

编辑:有一个非常聪明的短语不要打架构

答案 1 :(得分:0)

至少有两种方法可以解决这种情况。

新提交,被git blame

忽略

你不能做的是有一个&#34;透明的提交&#34; git blame完全忽略了这一点。但您可以要求git blame忽略git blame -w的空白更改。在您重新格式化代码时无所事事。

重写历史

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

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