To find out which files changed in a given commit, use the git log --raw command. It's the fastest and simplest way to get insight into which files a commit affects.
Using git pullUse git pull to update a local repository from the corresponding remote repository. Ex: While working locally on master , execute git pull to update the local copy of master and update the other remote tracking branches.
run git fetch to fetch latest changes, then run git rebase master to update your branch to the latest changes in master.
git log --name-status -2
Will show you the names of the files that changed for the last two commits.
git log -p -2
Will show you the changes themselves.
Before you pull,
git fetch
git log --name-status origin/master..
Will show you what commits you are about to retrieve, along with the names of the files.
You can review changes as @iblue says with a fetch
and diff
before merging:
$ git fetch
$ git diff master...origin/master
Note the triple period, which means diff against the shared parent and origin/master (commits marked x
below):
SP---o---o [master]
\
x---x [origin/master]
The very first line in the output of a pull looks like this:
$ git pull
Updating 37b431a..b2615b4
...
You can then simply do:
$ git diff 37b431a..b2615b4
Or whatever other command:
$ git log --name-status 37b431a..b2615b4
If it has been a while since you pulled, and you wish to know what changes were brought in by the last pull, you can look it up with:
$ git reflog | grep -A1 pull | head -2
which will show the hash after the pull followed by the hash before the pull:
b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master
You can then do the same thing with these two hashes:
git diff 37b431a..b2615b4
Because git pull
is just a shortcut for git fetch
and git merge
, you can run git fetch
to fetch the branches from the origin and then show the differences before merging. Like this:
git fetch # Load changes from remote server
git diff master origin/master # Show differences
git merge origin/master # Merge remote changes with local changes
If you run on a different branch than master, you should of course change the branch names in the commands above.
You can compare the pulled contents with the sources of immediately previous commit by,
git diff branch_name@{1}
eg:
git diff master@{1}
For comparing with the sources n commits behind,
git diff branch_name@{n}
You can check what get change while push and pull by this...
git log --stat
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With