Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。
1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。
※前回記事のリポジトリ状態からの続きになっています。
前回記事へ | 目次へ:Git関連記事のまとめページ | 次回記事へ |
---|
実行例
Gitで過去のコミットに一時的に戻る – Helve Tech Blog
https://helve-blog.com/posts/git/git-reset/
【Git入門】git commitを取り消したい、元に戻す方法まとめ - RAKUS Developers Blog | ラクス エンジニアブログ
https://tech-blog.rakus.co.jp/entry/20210528/git
↓
引用:
「git reset」は「commit を取り消した」というコミット履歴が残りません。
リモートリポジトリで公開されているコミットに対して行うと、不整合が発生してしまい他のメンバーがpushできなくなります。
(※始めにコミット履歴状況を確認)
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
(※始めに内容を確認)
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
-----
git reset 00cad71
↓
結果:
Unstaged changes after reset:
M test1.txt
M test2.txt
git log --oneline
↓
結果:
00cad71 (HEAD -> master) message2
4ace194 message1
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
git reset 94996a0
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
git reset --hard 00cad71
↓
結果:
HEAD is now at 00cad71 message2
git log --oneline
↓
結果:
00cad71 (HEAD -> master) message2
4ace194 message1
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
git reset --hard 94996a0
↓
結果:
HEAD is now at 94996a0 message4
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
git reset 00cad71
↓
結果:
Unstaged changes after reset:
M test1.txt
M test2.txt
git commit -a -m "message5(after-reset)"
↓
結果:
[master 9559e87] message5(after-reset)
2 files changed, 3 insertions(+), 1 deletion(-)
git log --oneline
↓
結果:
9559e87 (HEAD -> master) message5(after-reset)
00cad71 message2
4ace194 message1
git reset --hard 94996a0
↓
結果:
HEAD is now at 94996a0 message4
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
git status
↓
結果:
On branch master
nothing to commit, working tree clean
※これで全て元の状態に戻った。
参考
Gitで過去のコミットに一時的に戻る – Helve Tech Blog
https://helve-blog.com/posts/git/git-reset/
Git で特定のコミットをマージする方法メモ - Qiita
https://qiita.com/ina_ryu/items/c0cd4a529562f2d5b13e
【Git入門】git commitを取り消したい、元に戻す方法まとめ - RAKUS Developers Blog | ラクス エンジニアブログ
https://tech-blog.rakus.co.jp/entry/20210528/git
【Git】一時的に過去のcommitに戻りたい - Qiita
https://qiita.com/yt_andante_11/items/866e45d771b28cf05bf2
環境
Windows 10、PortableGit-2.40.0-64-bitを使用、全てローカルPC上で実施、GitHub等は不使用。