how do i identify files/directories that were added or removed in a git commit?

StackOverflow https://stackoverflow.com/questions/2557564

  •  23-09-2019
  •  | 
  •  

문제

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?

도움이 되었습니까?

해결책

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.

다른 팁

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top