8

私は大規模なコードベースを持っており、ほとんどすべてのファイルが適切に配置されていないか、変数またはメソッド間のスペースが不適切であるか、または一般的に醜いコードです。

作業しながら改善したいのですが、インデントなどを修正すると、コミット履歴がかなり見苦しくなります。

行が1スペースずれている小さなインデントの問題について話しているのではなく、次のようなことについて話している

 class Xyz
def foo
end

   def bar
  @something
end
   end

履歴を適切に保ちながら、このようなコードをクリーンアップする良い方法は何ですか? 一度にすべてを自動調整し、1 つの巨大なコミットを行う必要がありますか?

4

2 に答える 2

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

このようにして、この変更で「大きなコミット」を得ることができますが、オートフォーマッターを (少なくとも完全には) 信頼しません。

于 2012-01-02T09:53:17.780 に答える
1

別のブランチでクリーンアップを実行し、完了したらメインブランチにマージして戻すことができます。

これにより、クリーンアップする時間が与えられ、履歴を編集する必要がなくなります(私が決してしないこと)

于 2012-01-02T09:56:51.300 に答える