我将一个项目从svn移动到git。我使用git-filter-branch和--index-filter删除所有不必要的目录,并使用--prune-empty选项修剪所有空提交。
在我重新登录存储库之后,我仍然看到这些奇怪的提交,其路径指向一个祖先目录。这可以通过git log --stat
的输出得到最好的解释commit 222222b80e791e4ef5b9a027c8b10f64be5e2222
Author: someuser <someuser@somedomain>
Date: Mon Sep 14 17:52:08 2009
some commit msg
hello/.project | 11 ++++
hello/bin/hello.fla | Bin 0 -> 43008 bytes
.../other/Plugin.as | 10 ++++
.../other/Constants.as | 2 +
hello/Base.as | 52 ++++++++++++++++++++
.../other/HelloWorld.as | 21 ++++++++
.../target/Hello.swf | Bin 0 -> 1039 bytes
7 files changed, 96 insertions(+), 0 deletions(-)
这是怎么发生的,我该如何解决这个问题?
顺便说一句,该命令是在git存储库的根目录下运行的。
答案 0 :(得分:1)
那些不是父目录。 git
缩短了...
的路径名,因为它没有空间显示它们(大概)。
来自git log --help
手册页:
--stat[=<width>[,<name-width>[,<count>]]]
Generate a diffstat. You can override the default output width
for 80-column terminal by --stat=<width>. The width of the
filename part can be controlled by giving another width to it
separated by a comma. By giving a third parameter <count>, you
can limit the output to the first <count> lines, followed by
... if there are more.
These parameters can also be set individually with
--stat-width=<width>, --stat-name-width=<name-width> and
--stat-count=<count>.
尝试将终端的大小调整为120个字符,然后执行以下操作:
git log --stat=120,80
那么你应该有足够的空间来查看完整的路径名。