在遗留项目的git中管理清理提交的好方法是什么?

Jak*_*old 8 git legacy code-formatting git-commit

我有一个很大的代码库,几乎每个文件都没有正确对齐,变量或方法之间的间距差,或者只是丑陋的代码.

我希望在使用它时能够做得更好,但修复缩进等事情会使提交历史变得非常难看.

我不是在谈论小的缩进问题,其中一行是一个空格,我说的是类似的东西

 class Xyz
def foo
end

   def bar
  @something
end
   end
Run Code Online (Sandbox Code Playgroud)

在保持历史相关性的同时,清理这样的代码有什么好方法?我是否应该立即自动对齐所有内容并执行一次大量提交?

Kin*_*nch 9

我会在一个单独的(本地)分支中修复所有这些.一旦我准备好了,我会做一个"壁球合并"

git checkout -b cleanup develop
# Do some cleanup, do some commits and so on
git checkout develop
git merge --squash cleanup 
git commit -m "My Cleanup"
git branch -D cleanup
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我会得到一个"巨大的提交",但我不相信任何自动格式化程序(至少不完全),我不会在某一天完成它,或者在合并之前完全没有任何提交.