0

我将一个项目从 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 存储库的根目录下运行。

4

1 回答 1

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

你应该有足够的空间来查看完整的路径名。

于 2012-06-01T21:59:10.173 回答