我想在我的repo中找到任何涉及目录重命名的提交。
我正在查看the Pro Git book on git-scm.com和
git log ...
看起来它会让我接近,但我看不到任何可以让我指定目录的东西,而不仅仅是一个文件,也不是一个动作。
答案 0 :(得分:2)
git
无法管理目录。它只管理文件。没有记录"目录重命名&#34 ;;你只会看到一个文件重命名为目录中的所有内容。
考虑以下示例。我从包含单个目录foo
:
git init .
mkdir foo
touch foo/file{1,2,3}
git commit -m 'initial commit'
现在我重命名它:
git mv foo bar
git commit -m 'renamed foo -> bar'
现在git show
告诉我:
$ git show
commit 0429048856377cda39eb475248e142e1bfa4323b
Author: Lars Kellogg-Stedman <lars@example.com>
Date: Mon Oct 30 08:52:24 2017 -0400
renamed foo -> bar
diff --git a/foo/file1 b/bar/file1
similarity index 100%
rename from foo/file1
rename to bar/file1
diff --git a/foo/file2 b/bar/file2
similarity index 100%
rename from foo/file2
rename to bar/file2
diff --git a/foo/file3 b/bar/file3
similarity index 100%
rename from foo/file3
rename to bar/file3
您可以使用git log --summary
获取类似信息:
$ git log --summary
commit 0429048856377cda39eb475248e142e1bfa4323b
Author: Lars Kellogg-Stedman <lars@redhat.com>
Date: Mon Oct 30 08:52:24 2017 -0400
renamed foo -> bar
rename {foo => bar}/file1 (100%)
rename {foo => bar}/file2 (100%)
rename {foo => bar}/file3 (100%)