查看移动文件的GIT历史记录

时间:2010-10-02 10:12:45

标签: git

尽管阅读了很多关于GIT和移动文件的帖子,我仍然很难理解如何追踪完整的历史记录。按建议here执行gitk myfile似乎只显示历史记录,直到上次移动为止。据我所知,GIT不会跟踪文件,只跟踪文件的内容。所以我肯定能够查看文件的完整演变,即使它被移动了吗?

有人可以指导我一个简单的好例子/教程吗?

我想看一个示例,其中一些文件被移动,更改和提交,然后显示单个文件的历史记录,移动和所有。我一直在看'日志',但这似乎与checkins有关。仍然会欣赏一些建议,即使它说我仍然在想太多SVN。

2 个答案:

答案 0 :(得分:101)

尝试使用--follow option to git log

git log --follow file.txt

答案 1 :(得分:1)

git log--follow中同时使用--patch,这将显示带有从/重命名为输出的日志。并且不要忘记文件路径前的--

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)