为了清理我们的代码,我们想要使用astyle。 问题是我们希望有人做这项工作,但指责以前的提交者(代码的真正作者而不是清理的人)。
有没有办法在git中安全地做到这一点?
答案 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
进行批量重写。