我需要编写一个脚本,以增量方式跟踪从 git 存储库中添加和删除的文件和目录。
我尝试过使用:
git log -n1 --pretty="format:" --name-only
但这只能告诉我提交了哪些文件。它没有指定是添加还是删除。
有什么想法吗?
最佳答案
您正在寻找的选项是--name-status
。像 --name-only
它实际上是一个 git-diff 选项; git-log 接受这些来确定它将如何显示补丁。
git log -n 1 --pretty=oneline --name-status
或等效地(减去日志 header ):
git diff --name-status HEAD^ HEAD
正如 isbadawi 指出的那样,您还可以使用 git-whatchanged。这几乎是带有特定差异输出的 git-log:
git whatchanged -n 1
不过,您可能更喜欢 --name-status
版本,因为它不显示所有的 blob 哈希,只显示人类可读的状态。
关于git - 我如何识别在 git 提交中添加或删除的文件/目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557564/