4

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

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

4

2 回答 2

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

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

编辑:有一个非常聪明的短语Don't fight the framework

于 2015-04-28T10:32:04.653 回答
-1

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

新提交,被忽略git blame

你不能做的是有一个完全被git blame. 但是您可以要求git blame忽略空格更改git blame -w。在您重新格式化代码时无事可做。

改写历史

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

您可以使用git rebase -i --exec.

于 2015-04-28T12:43:23.877 回答