我需要编写一个脚本,它可以逐步跟踪从git仓库添加和删除的文件和目录。我如何识别在git commit中添加或删除的文件/目录?
我曾尝试使用: git的日志-N1 --pretty =“格式:” --name只
但这只不过是告诉我哪些文件被提交。它不指定它是否被添加或删除。
任何想法?
我需要编写一个脚本,它可以逐步跟踪从git仓库添加和删除的文件和目录。我如何识别在git commit中添加或删除的文件/目录?
我曾尝试使用: git的日志-N1 --pretty =“格式:” --name只
但这只不过是告诉我哪些文件被提交。它不指定它是否被添加或删除。
任何想法?
你要找的选项是--name-status
。像--name-only
它实际上是一个git-diff选项; git-log接受这些来确定它将如何显示补丁。
git log -n 1 --pretty=oneline --name-status
或等价(减去日志头):
git diff --name-status HEAD^ HEAD
由于isbadawi所指出的,你也可以使用git-whatchanged。这是相当多的git-记录与特定的diff的输出:
git whatchanged -n 1
你可能会喜欢的--name-status
版本更好,虽然,因为它不会显示所有的blob哈希,只是人类可读的状态。
这样做!现在我只需要写一个脚本来阅读该行,并选择A和D,然后我就完成了。谢谢。 – pocketfullofcheese 2010-04-02 14:56:38
以_commit消息格式输出包含名为** .gitignore **的文件的**添加**的特定提交的示例,已更改文件的名称和状态_:'git log --name-status --diff -filter = A - follow .gitignore' – Eido95 2017-05-23 19:26:39