[git] 이동 된 파일의 GIT 이력보기

GIT 및 이동 된 파일과 관련된 많은 다른 게시물을 읽음에도 불구하고 전체 기록을 추적하는 방법을 이해하는 데 여전히 어려움을 겪고 있습니다. 여기에gitk myfile 제안 된대로 수행하면 이전 이동까지의 기록 만 표시되는 것 같습니다. GIT는 파일을 추적하지 않고 콘텐츠 만 추적한다는 것을 이해합니다. 따라서 파일이 이동 된 경우에도 파일의 전체 진화를 볼 수 있어야합니까?

누구든지 나를 훌륭하면서도 간단한 예제 / 튜토리얼로 안내 할 수 있습니까?

일부 파일을 이동, 변경 및 커밋 한 다음 단일 파일의 기록을 표시하고 이동하는 예제를보고 싶습니다. 나는 ‘로그’를보고 있었지만 그것은 체크인에 관한 것 같습니다. 내가 여전히 SVN을 너무 많이 생각하고 있다고 말하더라도 여전히 조언을 고맙게 생각할 것입니다.



답변

다음 --follow옵션을git log 사용해보십시오 .

git log --follow file.txt


답변

git log둘 다 --follow와 함께 사용 --patch하면 이름이 from / rename to output 인 로그가 표시됩니다. 그리고 --파일 경로 이전을 잊지 마십시오 .

git log --follow --patch -- path/to/file.ext

예를 들어 testdir/more-testing.txt내 시스템 의 파일 내역 은 다음과 같습니다.

Date:   Wed Mar 18 14:48:07 2020 -0700

   renamed file

diff --git a/testdir/testing.txt b/testdir/more-testing.txt
similarity index 100%
rename from testdir/testing.txt
rename to testdir/more-testing.txt

commit feb58d3ab8e8ce940f80499df0c46e8fc8caf679
Author: Igal <redacted>
Date:   Wed Mar 18 14:47:18 2020 -0700

   moved test.txt to subdirectory and renamed

diff --git a/test.txt b/testdir/testing.txt
similarity index 100%
rename from test.txt
rename to testdir/testing.txt

commit 34c4a7cebaeb0df5afb950972d69adea6b1a7560
Author: Igal <redacted>
Date:   Wed Mar 18 14:45:58 2020 -0700

   added test.txt

diff --git a/test.txt b/test.txt
new file mode 100644
index 000000000..0527e6bd2
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+This is a test
(END)


답변