ファイルをブランチにコミットしましたが、リポジトリにプッシュしませんでしたabc
。今、このブランチから削除したいと思いabc
ます。どうすればこれを達成できますか?
1486 次
1 に答える
7
ファイルが存在しなかったかのように、ファイルを履歴から消去したいと思っていると思います。将来のコミットでファイルを削除したいだけの場合はgit rm my-bad-file.txt
、残りの回答を使用して無視してください。
ファイルが最新のコミットのみにある場合は、ファイルgit rm my-bad-file.txt
を削除してからgit commit --amend
以前のコミットを編集するのが最も簡単です。
問題のあるファイルを含むコミットが複数ある場合は、git filter-branch
役立つ可能性があります。
git filter-branch --index-filter 'git rm --cached --ignore-unmatch my-bad-file.txt' master..abc
これの意味は:
git filter-branch
: いくつかのコミットを書き直してみましょう!--index-filter
: ディスク上で実際にチェックアウトせずに、各コミットのインデックスを変更します。'git rm --cached --ignore-unmatch my-bad-file.txt'
: コミットごとに、「my-bad-file.txt」という名前のファイルが存在する場合はステージングを解除します。master..abc
: master ブランチから分岐した場所に戻る、ブランチ abc のすべてのコミットでこれを行います。
于 2012-07-15T08:25:01.447 に答える