I would like to inspect any code changes after doing a git pull
. Currently it's just showing me which files changes. How can I see what code changed?
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.
你可以通过这个来检查推拉的内容是什么......
git log --stat
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}
Best way to compare status before and after a pull (after the pull has been done):
git diff master^1
Or more generically:
git diff <branch name>^<commits back>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.