6

私はプロジェクトを持っていますが、プロジェクトの過程で、ディレクトリの名前が気に入らないことに気付きました。

GIT では、ディレクトリの名前を変更してからコミットできますが、履歴には古いフォルダーが表示されたままになります。

名前の変更を以前のコミットとしてリベースしたいと思います。したがって、私が通常行うことは次のとおりです。

git rebase -i origin/master

次に、フォルダの名前変更コミットを一番上に移動します。
ただし、予想どおり、git は解決する必要のある多くの競合を生成します。

これを行うより自動化された方法はありますか?

4

1 に答える 1

6

まだ誰とも共有していないものである場合は、とにかくリベースしようとしているためだと思いますが、名前の変更を含むコミットを削除し、フィルターブランチを実行します。

fooに不良ディレクトリが最初に出現し、名前の変更が最新のコミットであると仮定します。

git reset --hard HEAD^ # removes the rename commit
git filter-branch --tree-filter "mv bad good" foo^..HEAD

これにより、不良ディレクトリの名前がgoodに変更されます。

于 2013-03-13T15:44:02.707 に答える