LoginSignup
0
0

More than 1 year has passed since last update.

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

Last updated at Posted at 2023-05-16

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等は不使用。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0