Git4 択難易度 標準

push 済みのコミット abc123 の変更を取り消したい。安全なのは?

正答

  1. git reset --hard abc123~1
  2. git commit --amend
  3. git revert abc123
  4. git checkout abc123

解説

git revert は指定コミットの変更を逆に適用する新しいコミットを作る。既存の履歴は変わらないので、通常の push でそのまま共有できる。reset --hard で履歴を巻き戻すとリモートと食い違い、強制 push が必要になって他の人の作業を壊す恐れがある。--amend は直前のコミットの修正にしか使えず、同じく履歴を書き換える。checkout でハッシュを指定すると detached HEAD で過去を見るだけで、取り消しにはならない。

参考: git-scm.com

revertresetpush

この問題を含む Git のテストを制限時間つきで解く

Gitクイズへ