how do i identify files/directories that were adde

2019-04-18 10:26发布

I need to write a script that incrementally keeps track of files and directories added and removed from a git repo.

I have tried to use:

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

But that only tells me which files were committed. It does not specify if it was added or removed.

Any ideas?

标签: git git-log
2条回答
干净又极端
2楼-- · 2019-04-18 11:08

The option you're looking for is --name-status. Like --name-only it's actually a git-diff option; git-log accepts those to determine how it'll display patches.

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

Or equivalently (minus the log header):

git diff --name-status HEAD^ HEAD

As isbadawi points out, you can also use git-whatchanged. This is pretty much git-log with a specific diff output:

git whatchanged -n 1

You might like the --name-status version better, though, since it doesn't show all the blob hashes, just the human-readable statuses.

查看更多
疯言疯语
3楼-- · 2019-04-18 11:17
登录 后发表回答