Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。
1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。
※前回記事のリポジトリ状態からの続きになっています。
前回記事へ | 目次へ:Git関連記事のまとめページ | 次回記事へ |
---|
実行例
【Git入門】git commitを取り消したい、元に戻す方法まとめ - RAKUS Developers Blog | ラクス エンジニアブログ
https://tech-blog.rakus.co.jp/entry/20210528/git
↓
引用:
「revert」はpush済みのコミットを打ち消したいときに便利です。
push済のコミットの上に、新しいコミットを乗せる形でコミットを元に戻すことができるからです。
コミット自体を削除するわけではないので、安全にコミットを元に戻すことができます。
(※ひとまず適当に変更の操作)
echo Sample-Added-15(before-revert) >> test1.txt
git commit -a -m "message7"
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
Sample-Added-15(before-revert)
git log --oneline
↓
結果:
f6715f9 (HEAD -> master) message7
94996a0 message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
※HEADは最新のコミットを指し、最新のコミットを削除して1つ前へ戻す。
※「--no-edit」でコミットメッセージを編集しない(エディタを開かない)。Windowsのコマンドプロンプトで実行するとエラーとなる為、エディタを開かない。
git revert HEAD --no-edit
↓
結果:
[master b7cf3a2] Revert "message7"
Date: Sun Jan 1 20:04:14 2023 +0900
1 file changed, 1 deletion(-)
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
git log --oneline
↓
結果:
b7cf3a2 (HEAD -> master) Revert "message7"
f6715f9 message7
94996a0 message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
git revert "HEAD^^^..HEAD" --no-edit
↓
結果:
[master 143bc5a] Revert "Revert "message7""
Date: Sun Jan 1 20:10:41 2023 +0900
1 file changed, 1 insertion(+)
[master 524cb9e] Revert "message7"
Date: Sun Jan 1 20:10:41 2023 +0900
1 file changed, 1 deletion(-)
[master 307814b] Revert "message4"
Date: Sun Jan 1 20:10:41 2023 +0900
2 files changed, 2 deletions(-)
delete mode 100644 test4.txt
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
git log --oneline
↓
結果:
307814b (HEAD -> master) Revert "message4"
524cb9e Revert "message7"
143bc5a Revert "Revert "message7""
b7cf3a2 Revert "message7"
f6715f9 message7
94996a0 message4
20bbab7 message3
00cad71 message2
4ace194 message1
git status
↓
結果:
On branch master
nothing to commit, working tree clean
-----
(※以降は内容確認用のコマンド実行)
git checkout 20bbab7
↓
結果:
Previous HEAD position was 307814b Revert "message4"
HEAD is now at 20bbab7 message3
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
git checkout 94996a0
↓
結果:
Previous HEAD position was 20bbab7 message3
HEAD is now at 94996a0 message4
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
-----
(※始めの状態に戻す)
git reset --hard 94996a0
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
環境
Windows 10、PortableGit-2.40.0-64-bitを使用、全てローカルPC上で実施、GitHub等は不使用。