🗂

git 特定のコミットに戻す方法

2022/08/20に公開
  1. 戻す対象となるcommitのハッシュ値を取得する
$ git log
  1. ハッシュ値で指定したcommitまで戻る
$ git reset ハッシュ値
参考

参考

戻る対象のcommitがmainブランチの場合、a detached HEADにpushしているため、Everything up-to-dateが返ってくる。commitがbranchのHEADではなく、pushのターゲットを見失っているため、特定するようにpushコマンドを打ってあげる必要がある。

$ git push -f origin main
Everything up-to-date
$ git push origin HEAD:main
参考

rejectedされた場合、rebaseしてあげる必要がある。

$ git push origin HEAD:main
 ! [rejected]        HEAD -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

% git rebase origin/main
% git pull
% git push origin
参考

Discussion