Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。
1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。
※前回記事のリポジトリ状態からの続きになっています。
前回記事へ | 目次へ:Git関連記事のまとめページ | 次回記事へ |
---|
実行例
(※現在のコミット位置を確認)
git log --oneline -1
↓
結果:
94996a0 (HEAD -> master) message4
-----
(※恣意的に重複を作成)
echo Sample-Added-12 > test8.txt
echo Sample-Added-1x >> test8.txt
echo Sample-Added-41 >> test8.txt
git add .
git commit -m "blame test"
↓
結果:
[master ae2c71d] blame test
1 file changed, 3 insertions(+)
create mode 100644 test8.txt
git blame -- test8.txt
↓
結果:
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 1) Sample-Added-12
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 2) Sample-Added-1x
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 3) Sample-Added-41
※-Cオプションで、コードのどの部分をどのファイルからコピーしたのかを調べる
git blame -C -- test8.txt
↓
結果:
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 1) Sample-Added-12
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 2) Sample-Added-1x
ae2c71d2 (person1 2023-01-01 18:20:15 +0900 3) Sample-Added-41
※全て今回新規のコミット(ae2c71d2)表示となり、コピー元を調べられてはいない
-----
※代わりに、1行ずつ検索してコピー元を調べる
git log -S"Sample-Added-12" --oneline
↓
結果:
ae2c71d (HEAD -> master) blame test
00cad71 message2
git log -S"Sample-Added-1x" --oneline
↓
結果:
ae2c71d (HEAD -> master) blame test
git log -S"Sample-Added-41" --oneline
↓
結果:
ae2c71d (HEAD -> master) blame test
94996a0 message4
-----
(※1つ前=始めの状態に戻す)
git reset --hard "HEAD^"
環境
Windows 10、PortableGit-2.40.0-64-bitを使用、全てローカルPC上で実施、GitHub等は不使用。