Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* git reflog (git resetを取り消す) [#t318a3f5]
間違ってgit resetしてしまって元に戻したい場合、git reflog...
** 作業例 [#x75fd54b]
今、↓のような状態にある。
git log
* 16ace8b na 2012-02-19 update 1.txt #3 (HEA...
* 00da098 na 2012-02-19 update 1.txt #2
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
「update 1.txt #3」のコミットは間違いだったので、「update...
git reset --hard HEAD^^
が、HEAD^じゃなくてHEAD^^を指定してしまい、「update 1.txt...
git log
* c99c449 na 2012-02-19 update 1.txt #1 (HEA...
* 66bb609 na 2012-02-19 add 1.txt
こういう場合にgit reflogを実行する。
git reflog
c99c449 HEAD@{0}: HEAD^^: updating HEAD
16ace8b HEAD@{1}: commit: update 1.txt #3
00da098 HEAD@{2}: commit: update 1.txt #2
c99c449 HEAD@{3}: commit: update 1.txt #1
66bb609 HEAD@{4}: commit (initial): add 1.txt
とりあえずgit resetする前の状態(HEAD@{1})に戻す為に、gi...
git reset --hard HEAD@{1}
これで元に戻った。
git log
* 16ace8b na 2012-02-19 update 1.txt #3 (HEA...
* 00da098 na 2012-02-19 update 1.txt #2
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
改めてgit resetする。
git reset --hard HEAD^
これで当初の目的通り、「update 1.txt #2」のコミットの状態...
git log
* 00da098 na 2012-02-19 update 1.txt #2 (HEA...
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
*** 参考 [#fb3cdc64]
なお、ここまでやって、git reflogは以下のようになっている。
git reflog
00da098 HEAD@{0}: HEAD^: updating HEAD
16ace8b HEAD@{1}: HEAD@{1}: updating HEAD
c99c449 HEAD@{2}: HEAD^^: updating HEAD
16ace8b HEAD@{3}: commit: update 1.txt #3
00da098 HEAD@{4}: commit: update 1.txt #2
c99c449 HEAD@{5}: commit: update 1.txt #1
66bb609 HEAD@{6}: commit (initial): add 1.txt
終了行:
* git reflog (git resetを取り消す) [#t318a3f5]
間違ってgit resetしてしまって元に戻したい場合、git reflog...
** 作業例 [#x75fd54b]
今、↓のような状態にある。
git log
* 16ace8b na 2012-02-19 update 1.txt #3 (HEA...
* 00da098 na 2012-02-19 update 1.txt #2
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
「update 1.txt #3」のコミットは間違いだったので、「update...
git reset --hard HEAD^^
が、HEAD^じゃなくてHEAD^^を指定してしまい、「update 1.txt...
git log
* c99c449 na 2012-02-19 update 1.txt #1 (HEA...
* 66bb609 na 2012-02-19 add 1.txt
こういう場合にgit reflogを実行する。
git reflog
c99c449 HEAD@{0}: HEAD^^: updating HEAD
16ace8b HEAD@{1}: commit: update 1.txt #3
00da098 HEAD@{2}: commit: update 1.txt #2
c99c449 HEAD@{3}: commit: update 1.txt #1
66bb609 HEAD@{4}: commit (initial): add 1.txt
とりあえずgit resetする前の状態(HEAD@{1})に戻す為に、gi...
git reset --hard HEAD@{1}
これで元に戻った。
git log
* 16ace8b na 2012-02-19 update 1.txt #3 (HEA...
* 00da098 na 2012-02-19 update 1.txt #2
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
改めてgit resetする。
git reset --hard HEAD^
これで当初の目的通り、「update 1.txt #2」のコミットの状態...
git log
* 00da098 na 2012-02-19 update 1.txt #2 (HEA...
* c99c449 na 2012-02-19 update 1.txt #1
* 66bb609 na 2012-02-19 add 1.txt
*** 参考 [#fb3cdc64]
なお、ここまでやって、git reflogは以下のようになっている。
git reflog
00da098 HEAD@{0}: HEAD^: updating HEAD
16ace8b HEAD@{1}: HEAD@{1}: updating HEAD
c99c449 HEAD@{2}: HEAD^^: updating HEAD
16ace8b HEAD@{3}: commit: update 1.txt #3
00da098 HEAD@{4}: commit: update 1.txt #2
c99c449 HEAD@{5}: commit: update 1.txt #1
66bb609 HEAD@{6}: commit (initial): add 1.txt
ページ名: