Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。
1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。
※前回記事のリポジトリ状態からの続きになっています。
前回記事へ | 目次へ:Git関連記事のまとめページ | 次回記事へ |
---|
実行例
(※始めにコミット履歴を調べる)
git log --oneline
↓
結果:
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
echo Sample-Added-RN1 >> test1.txt
type test1.txt
↓
結果:
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
Sample-Added-RN1
※ファイル名の変更
rename test1.txt test1-RN1.txt
dir /b
↓
結果:
test1-RN1.txt
test2.txt
test4.txt
git status -s
↓
結果:
D test1.txt
?? test1-RN1.txt
git add .
git commit -m "message(rename1)"
↓
結果:
[master cb443c7] message(rename1)
1 file changed, 1 insertion(+)
rename test1.txt => test1-RN1.txt (79%)
(※ファイル名の変更は、ファイル内のテキスト内容の類似度により自動で追跡される)
git diff "HEAD^"
↓
結果:
diff --git a/test1.txt b/test1-RN1.txt
similarity index 79%
rename from test1.txt
rename to test1-RN1.txt
index bb7eb1a..93982a2 100644
--- a/test1.txt
+++ b/test1-RN1.txt
@@ -2,3 +2,4 @@ Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
+Sample-Added-RN1
-----
(※1行のみの場合)
type test2.txt
↓
結果:
Sample-Added-**21
echo Sample-Added-**21-RN2 > test2.txt
type test2.txt
↓
結果:
Sample-Added-**21-RN2
rename test2.txt test2-RN2.txt
dir /b
↓
結果:
test1-RN1.txt
test2-RN2.txt
test4.txt
git status -s
↓
結果:
D test2.txt
?? test2-RN2.txt
git add .
git commit -m "message(rename2)"
↓
結果:
[master 8491648] message(rename2)
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 test2-RN2.txt
delete mode 100644 test2.txt
git diff "HEAD^"
↓
結果:
diff --git a/test2-RN2.txt b/test2-RN2.txt
new file mode 100644
index 0000000..cca1c9a
--- /dev/null
+++ b/test2-RN2.txt
@@ -0,0 +1 @@
+Sample-Added-**21-RN2
diff --git a/test2.txt b/test2.txt
deleted file mode 100644
index 1facb47..0000000
--- a/test2.txt
+++ /dev/null
@@ -1 +0,0 @@
-Sample-Added-**21
(※1行のみの場合は、小変更であっても、ファイル名の変更は自動で追跡しない模様)
-----
(※ファイル名を交換する変更)
rename test2-RN2.txt test1-RN3.txt
rename test1-RN1.txt test2-RN2.txt
rename test1-RN3.txt test1-RN1.txt
dir /b
↓
結果:
test1-RN1.txt
test2-RN2.txt
test4.txt
git status -s
↓
結果:
M test1-RN1.txt
M test2-RN2.txt
git commit -a -m "message(rename3)"
↓
結果:
[master 84f9cb9] message(rename3)
2 files changed, 6 insertions(+), 6 deletions(-)
git diff "HEAD^"
↓
結果:
diff --git a/test1-RN1.txt b/test1-RN1.txt
index 93982a2..cca1c9a 100644
--- a/test1-RN1.txt
+++ b/test1-RN1.txt
@@ -1,5 +1 @@
-Sample-Added-11
-Sample-Added-12
-Sample-Added-13
-Sample-Added-14
-Sample-Added-RN1
+Sample-Added-**21-RN2
diff --git a/test2-RN2.txt b/test2-RN2.txt
index cca1c9a..93982a2 100644
--- a/test2-RN2.txt
+++ b/test2-RN2.txt
@@ -1 +1,5 @@
-Sample-Added-**21-RN2
+Sample-Added-11
+Sample-Added-12
+Sample-Added-13
+Sample-Added-14
+Sample-Added-RN1
(※ファイル名を交換する変更は自動で追跡せず、単に内容の変更とする模様)
-----
(※始めの状態に戻す)
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等は不使用。