1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gitで指定のコミットに戻りたい(reset)

Last updated at Posted at 2020-11-04

前置き

メモ書きです。
gitで指定のコミットに戻りたいとき、方法は2パターンある。

rebase

git rebase

変更を戻すコミットをする。
安全。
ログが増える。

reset

git reset

変更自体を取り消す。
危険。
ログが消える。

今回はresetの方を扱う。

ローカルで戻りたい

ローカルから頑張って書いたコードが消えるので注意。
プッシュしてあるなら戻すことができる。(後述)

以下でdに戻りたい場合

a <- HEAD
|
b
|
c
|
d <- ここに戻りたい

HEADから遡る指定方法は以下

a <- HEAD
|
b <- HEAD~1
|
c <- HEAD~2
|
d <- HEAD~3
git reset --hard HEAD~3

結果

d <- HEAD

戻したけど、やっぱり戻すのをやめる

プッシュ済みであれば、プルすればOK

git pull

リモートに反映したい

元のコミットは、別ブランチがない限り消えるので注意
プッシュ先が仮にdevブランチとする

git push -f origin dev

結果

d <- HEAD
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?