如何检查远程(原始)Git存储库的变化?
题
什么是Git命令来执行以下工作stream程?
脚本
我从存储库克隆,并做了我自己的一些提交到我的本地存储库。 与此同时,我的同事们向远程仓库作出了承诺。 现在,我想:
- 
检查远程存储库上的其他人是否有任何新的提交,即 origin?
- 
假如自从我上一次拉取以来,远程仓库中有3个新的提交,我想要区分远程仓库的提交,即 HEAD~3与HEAD~2,HEAD~2,HEAD。
- 
知道什么是远程更改后,我想从其他人那里获得最新的提交。 
我的发现迄今为止
 对于步骤2:我知道脱字符号HEAD^ , HEAD^^等和代字符HEAD^ , HEAD^^等 
 对于第3步:那就是,我猜,只是一个git pull 。 
 您可以通过git fetch origin来更新存储库中的远程分支以指向最新版本。 对于偏远地区的差异: 
 git diff origin/master 
是的,你也可以使用脱字符号。
如果您想接受远程更改:
 git merge origin/master 
 git remote update && git status 
find这个答案 检查是否需要拉在Git
git remote update,使您的远程refs最新。 然后你可以做几件事情之一,比如:
git status -uno会告诉你你正在追踪的分支是前进还是后退。 如果什么都不说,本地和远程都是一样的。
git show-branch *master会显示所有名称以master结尾的分支(例如master和origin / master)的提交。如果你使用
-v和git remote update你可以看到哪个分支得到了更新,所以你不需要任何进一步的命令。
综合考虑“起源”是什么的好方法是:
 git remote show origin 
一个可能的解决
感谢Alan Haggai Alavi的解决scheme,我提出了以下潜在的工作stream程:
步骤1:
 git fetch origin 
第2步:
 git checkout -b localTempOfOriginMaster origin/master git difftool HEAD~3 HEAD~2 git difftool HEAD~2 HEAD~1 git difftool HEAD~1 HEAD~0 
第3步:
 git checkout master git branch -D localTempOfOriginMaster git merge origin/master 
我只是用
 git remote update git status 
后者然后报告我的本地背后有多less承诺。 (如果有的话)
然后
 git pull origin master 
把我的本地更新:)
我的常规问题是“什么新东西或更改回购”,所以更换来得心应手。 在这里find它。
 git whatchanged origin/master -n 1 
 即使在提取之后, git status并不总是显示主机和原始/主机之间的区别。 如果你想组合git fetch origin && git status起作用,你需要指定本地分支和原点之间的跟踪信息: 
 # git branch --set-upstream-to=origin/<branch> <branch> 
对于主分支:
 git branch --set-upstream-to=origin/master master