代码之家  ›  专栏  ›  技术社区  ›  pocketfullofcheese

如何识别在Git提交中添加或删除的文件/目录?

  •  16
  • pocketfullofcheese  · 技术社区  · 15 年前

    我需要编写一个脚本,增量地跟踪从Git报告中添加和删除的文件和目录。

    我尝试过使用:

    git log -n1 --pretty="format:" --name-only
    

    但这只告诉我提交了哪些文件。它没有指定是添加还是删除它。

    有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  27
  •   Cascabel    15 年前

    你要找的选项是 --name-status . 喜欢 --name-only 它实际上是一个git diff选项;git日志接受这些选项来确定补丁的显示方式。

    git log -n 1 --pretty=oneline --name-status
    

    或等效(减去日志头):

    git diff --name-status HEAD^ HEAD
    

    正如Isbadawi指出的,你也可以使用git-whatchanged。这是具有特定diff输出的大部分git日志:

    git whatchanged -n 1
    

    你可能会喜欢 -姓名状态 不过,版本更好,因为它不显示所有的blob散列,只显示人类可读的状态。

        2
  •  4
  •   Ismail Badawi    15 年前
    推荐文章