![](/img/trans.png)
[英]git checkout <commit> . is not removing files that were added after the commit
[英]how do i identify files/directories that were added or removed in a git commit?
我需要编写一个脚本,逐步跟踪从git仓库添加和删除的文件和目录。
我试过用:
git log -n1 --pretty="format:" --name-only
但这只能告诉我哪些文件已提交。 它没有指定是添加还是删除。
有任何想法吗?
您正在寻找的选项是--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。 这几乎是带有特定diff输出的git-log:
git whatchanged -n 1
但是,您可能更喜欢--name-status
版本,因为它不会显示所有blob哈希值,只显示人类可读的状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.