如何检查远程(源)Git存储库上的更改
执行以下工作流的Git命令是什么 场景 我从一个存储库中进行了克隆,并对本地存储库进行了一些提交。与此同时,我的同事向远程存储库做出了承诺。现在,我想:如何检查远程(源)Git存储库上的更改,git,Git,执行以下工作流的Git命令是什么 场景 我从一个存储库中进行了克隆,并对本地存储库进行了一些提交。与此同时,我的同事向远程存储库做出了承诺。现在,我想: 检查是否有新的 来自其他用户的提交 远程存储库,即来源 假设服务器上有三个新的提交 自上次更新以来的远程存储库 拉,我想区分 远程存储库的提交,即。 HEAD~3带HEAD~2,HEAD~2带 HEAD~1和HEAD~1与HEAD 在知道发生了什么变化之后, 我想得到最新的消息 从其他人那里 我目前的发现 对于步骤2:我知道插入符号HEA
来源
HEAD~3
带HEAD~2
,HEAD~2
带
HEAD~1
和HEAD~1
与HEAD
HEAD^
,HEAD^
等以及波浪符号HEAD~2
,HEAD~3
等
对于步骤3:也就是说,我想,只需
git pull
您就可以git fetch origin
更新存储库中的远程分支以指向最新版本。对于与远程设备的差异:
git diff origin/master
是的,您也可以使用插入符号
如果要接受远程更改,请执行以下操作:
git merge origin/master
综合了解“起源”的一个好方法是:
一个潜在的解决方案 多亏了,我想出了以下可能的工作流程: 步骤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-uno
将告诉您正在跟踪的分支是在前面、后面还是已经分支。如果它什么也没说,本地和本地
遥控器是一样的git show branch*master
将显示名称以master结尾的所有分支中的提交(例如master和origin/master)-v
与git remote update
一起使用,您可以看到哪些分支
已更新,因此不需要任何其他命令
我经常问的问题是“回购协议中有什么新的或改变的”,所以改变了什么就方便了。找到了 我只是用
git remote update
git status
然后,后者报告我的本地is(如果有)背后的提交数量
然后
要使我的本地计算机处于最新状态:)
git status
即使在获取之后,也不总是显示master和origin/master之间的差异
如果希望组合git-fetch-origin&&git-status
工作,则需要指定本地分支和源之间的跟踪信息:
# git branch --set-upstream-to=origin/<branch> <branch>
我只是用
git fetch origin
获取远程更改,然后使用包含--all
参数的nice查看本地和挂起的远程提交(及其相关更改),如下所示:
gitk --all
但该命令并没有告诉我自上次拉取以来“origin”上有多少次提交,是吗?按照我的理解,“git remote show origin”是一个本地操作,不通过网络获取信息。输出不包含任何有关远程内容的信息。为什么需要为远程版本之间的差异创建临时分支?您只需
git diff origing/master^ origing/master^
@PabloMarin Garcia:谢谢。那时候我不知道。@Pablo Marin Garcia:不,git diff origin/master^ origin/master^
diff看起来是相反的。我发现使用git-diff-HEAD-origin/master更容易,因此diff显示了如果我接受远程更改将应用什么。“git-fetch-origin”和“git-show-branch*master”对我很有用。您链接到的@Daniele的可能副本非常棒,甚至还附带了一个可定制的bash脚本+1还不够。我必须在需要推送时立即执行git pull
,因为我的本地分支的尖端位于远程分支的后面。@Overdrivr问题是在将提交提交给本地分支之前检查更改的方法。所以,是的,您必须在检查更改后更新您的本地分支。这是用于远程来源还是上游?该-v选项不起作用。对于git remote update-v
我得到了错误:未知开关'v'
@Shad您应该执行git remote-v update
而不是git remote update-v
问题指定了git命令。有许多git工具可用于检查远程分支状态。推广一个特定的产品并没有多大帮助。我意识到这是一个官方git文档中记录的工具,但它仍然是独立维护的,因此我不同意。我可能仍然会在这里指定如何进行区分。
git pull origin master
# git branch --set-upstream-to=origin/<branch> <branch>
git branch --set-upstream-to=origin/master master
git fetch origin
gitk --all