2017-05-15 1 views
0

私はそれを公開することができますので、プライベートなプロジェクトをクリーンアップしようとしている - 履歴からの雑多なファイルを削除するなどルートコミットでgit filter-branchを実行するにはどうしたらいいですか?

を私はgit filter-branchでMakefileを削除しようとしています。私はgit log -- Makefileを実行したときに

$ git filter-branch -f --index-filter 'git update-index --remove Makefile' 08a7d1..HEAD 

は、しかし、それはMakefileのは、ルートがコミット直後にコミットで削除され、コミットルートに追加されて示しています。ここで私が使用しているコマンドラインです。

git filter-branchをルートコミットでも実行するにはどうすればよいですか?

答えて

0

問題は、指定したコミット範囲(08a7d1..HEAD)での開始コミットが包括的ではないことです。だから基本的には、 "の後に起こったすべては08a7d1の後に、すべてHEADまでです"と言っています。

git filter-branchにコミット範囲を渡すことはオプションです。これを省略すると、すべてのコミットが実行され、ルートまで戻ってきます。したがって:

$ git filter-branch -f --index-filter 'git update-index --remove Makefile' 

これはすべきことです。

関連する問題