いくつかの変更を(別々のコミットで)コミットしたと想像してください。たとえば、A、B、Cの3つのコミットがあります。
さて、コミットBで、コミットすべきではない特定のファイル(いくつかの変更を含む)を追加したことがわかりました。
そのコミットでそのファイルをどのように削除しますか?
例は素晴らしいでしょう。
ありがとう
git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD
このコマンドは、[履歴から]すべてのコミットからファイルを削除します。
警告:すでに他の人と作業を共有している場合は、このコマンドを使用することはお勧めしません。このコマンドを使用する前に、その影響を完全に理解していることを確認してください。
あなたもすることができます
git rebase --interactive A
問題のファイルを含めないようにコミットBを編集します
ただし、同じ警告が適用され、B以降のコミットでファイルに変更を加えた場合、これらは適用されません。