繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM