2011-11-11 20 views
6

特定のチェンジセットをGitリポジトリから完全に削除することも可能ですか?私はソースコード管理のために全く役に立たないバイナリファイルをいくつか追加している間にコミットがあったので、これをしたいと思います。特定のチェンジセットをGitリポジトリから完全に削除しますか?

コミットノードに親と特定の履歴があるということを考えれば、これは不可能かどうかは分かりますが、尋ねるのは害ではないと思います。

答えは、「コミットが発生する前に新しいコピーをコピーして、そこから始め直すことはできますか?」という質問に対しては「いいえ」です。

+0

[重大なファイルを間違ってgitでコミットするにはどうすればよいですか?](http://stackoverflow.com/questions/8083282/how-do-i-remove-a-big-file-wrongly-committed- in-git) – antlersoft

答えて

8

git rebase -i <commit-id>を使用してください。削除するチェンジセットの前にはコミットがあります。ヘッドとチェンジセット間のコミットのリストを開き、必要なコミットをリストから削除して続行します。このコミットが「分離」されると、ガベージコレクションまでリポジトリ内に浮動することを意味します。あなたはそれを強制的にgit gcを使用することができます。

ただし、リポジトリのすべてのクローンが分岐し、後でリベースする必要があることに注意してください。

関連する問題