質問: ``` * C.txt追加 | * B.txt追加 | * A.txt追加 | ``` 順番にA,B,Cのテキストファイルを追加した履歴があります。ここで、B.txtの追加前に戻して、A.txtだけが存在するような状況に戻すにはどうすればよいでしょうか? `revert` だと元に戻すことができません。 ``` * A.txtだけが存在するコミット | * C.txt追加 | * B.txt追加 | * A.txt追加 | ``` このような状態にしたいです。
回答: `revert` は `..` の形式で複数のコミットを指定できます。更に `--no-commit` オプションを付けることで一旦コミットせずに revert してみて、確認してからコミットできます。 例: ``` git revert --no-commit HEAD~2..HEAD git commit ``` ### 参考 * git-revert -- Git Documentation * Specifying Revisions -- gitrevisions -- Git Documentation