1. ホーム
  2. git

[解決済み] Gitでファイルへの変更を選択的にリバートまたはチェックアウトする?

2023-03-06 21:45:16

質問

作業ディレクトリにあるファイル (または複数のファイル) の変更を部分的に取り消すコマンドはありますか?

あるファイルをたくさん編集したが、いくつかの変更をコミットされた状態に戻したいが、他の変更は戻したくないということに気づいたとします。

私が想定しているのは git checkout と同じように動作する git add -p と同じように動作します。つまり、ファイルをハンクごとに調べ、それを保持するかどうか尋ねます。

どのように解決するのですか?

を使用することができます。

git add -p <path>

で、特定のファイルに残したいチャンクをステージングし、次に

git checkout -- <path>

をクリックすると、ステージングされたバージョンのファイルをチェックアウトして、残したくないワーキングツリーの変更を破棄することができます。

最後に

git reset -- <path>

を実行すると、ステージングされたファイルのバージョンを最新のコミットされたバージョンに戻し、あなたの変更をステージングされないままにしておきます。