Gilles Maes
Gilles Maes

Reputation: 143

Git pull change log

After pulling from a git server, I'm trying to get a list of all changed files. I don't need any specific parts of code, just a list of files (with some kind of indication as to wether it's been added, removed or changed).

I first looked at using git log, but that appearantly only returns info from the last commit:

git log --name-status --max-count=1 --pretty=format:""

Since this appearantly only gets the changes from the last commit in a pull, I'm trying to find a way to get all the changes (the pull almost always exists out of multiple commits).

Is there any command for this? (I'm interacting with Git from PHP, btw)

Upvotes: 14

Views: 21145

Answers (2)

mshiltonj
mshiltonj

Reputation: 316

An alternative command is:

git pull --stat 

Upvotes: 0

araqnid
araqnid

Reputation: 133392

After a pull, ORIG_HEAD refers to where you were before, and HEAD refers to where you are now. So ORIG_HEAD.. means the changes pulled into the current branch. --max-count=1 means just the last commit, not what you want, as you discovered.

You probably want something like git diff --name-status ORIG_HEAD.. which will output a single-character status code and a filename for each file changed, aggregating all the commits together. If you want it broken down by each change, you need something like git log --oneline --name-status ORIG_HEAD..

Upvotes: 28

Related Questions