【问题标题】:What is a good way to manage cleanup commits in git for a legacy project?在 git 中为遗留项目管理清理提交的好方法是什么?
【发布时间】:2012-01-31 17:33:25
【问题描述】:

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

我想在使用它时让它变得更好,但是修复缩进之类的东西会使提交历史变得很丑陋。

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

 class Xyz
def foo
end

   def bar
  @something
end
   end

有什么好的方法可以清理这样的代码,同时保持我的历史相关性?我应该一次自动对齐所有内容并进行一次巨大的提交吗?

【问题讨论】:

    标签: git code-formatting legacy git-commit


    【解决方案1】:

    我会在一个单独的(本地)分支中解决所有这些问题。一旦我准备好了,我会做一个“壁球合并”

    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
    

    通过这种方式,我将通过这些更改获得“巨大的提交”,但我不会信任任何自动格式化程序(至少不完全信任),而且我不必在一天内完成,或者在合并之前完全没有任何提交.

    【讨论】:

      【解决方案2】:

      您可以在单独的分支中进行清理,完成后将其合并回主分支。

      这让您有时间清理并且您不必编辑历史记录(我从不这样做)

      【讨论】:

        猜你喜欢
        • 2011-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-15
        • 2018-10-30
        • 1970-01-01
        相关资源
        最近更新 更多