[Git] 動作を試す 実行例26：ファイル名の変更は自動で追跡される

Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。

1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。

※前回記事のリポジトリ状態からの続きになっています。
| [前回記事へ](https://qiita.com/dl_from_scratch/items/6eaaf83d51060ee87054) | [目次へ：Git関連記事のまとめページ](https://qiita.com/dl_from_scratch/items/597bc28a4787a7901d21) | [次回記事へ](https://qiita.com/dl_from_scratch/items/574993a4919e02236dbd) |
|:-:|:-:|:-:|

# 実行例

```
(※始めにコミット履歴を調べる)
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等は不使用。