Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何验证git fetch上游主机是否确实拉取了更改?_Git_Fetch_Master_Upstream Branch - Fatal编程技术网

我如何验证git fetch上游主机是否确实拉取了更改?

我如何验证git fetch上游主机是否确实拉取了更改?,git,fetch,master,upstream-branch,Git,Fetch,Master,Upstream Branch,首先:我是git的新手,但对svn非常熟悉,但这已经不重要了: 我被告知更改已提交给master,地址为83BB0AF238F2D845A633A920EE64739523403A6,我应该更新我的分叉副本。我已将远程上游设置为master,并在我的工作副本中执行git fetch上游master。然后我得到了以下信息: ... Unpacking objects: 100% (6/6), done. From http://xxx.xxx.xxx.xxx:pppp/path/to/repo

首先:我是git的新手,但对svn非常熟悉,但这已经不重要了: 我被告知更改已提交给master,地址为83BB0AF238F2D845A633A920EE64739523403A6,我应该更新我的分叉副本。我已将远程上游设置为master,并在我的工作副本中执行git fetch上游master。然后我得到了以下信息:

...
Unpacking objects: 100% (6/6), done.
From http://xxx.xxx.xxx.xxx:pppp/path/to/repo
 * branch            master     -> FETCH_HEAD
   fa3e0c9..83bb0af  master     -> upstream/master
我想知道我如何才能验证这些更改是否真的被引入,以及我的副本是否是最新的

我将更改拉入本地主副本,并通过git日志查看更改。现在的问题是,我希望同样的评论也出现在我的git日志上的分叉本地副本中,但它没有。。。我想知道出了什么问题,我该怎么解决

git stash
git pull --rebase
git stash pop
这将隐藏任何本地更改,然后从远程拉取更改,最后弹出隐藏的内容(如果有)

从上游获取更改

git checkout master
git fetch upstream master
git merge upstream/master
git log
git push origin

现在,您的上游更改将被拉入、合并并推送到fork源。

您可以使用git log查看当前本地分支中的最新提交。如果与遥控器进行比较,则应允许您检查是否有最新版本。我不知道这是不是你要找的?@AndrewFan是的,我刚才就是这么做的,但是日志评论加起来不正确:我不知道如何修复它。。我将编辑原始问题…请注意,使用SVN,您有一个主服务器或真正的服务器,即中央SVN服务器。有了Git,每一次回购都同样重要或真实。这意味着,如果你既有源头又有上游,就像这里的情况一样,它们不可能都是真理的源头。事实上,你的回购协议是你的真理之源,你只需从他们的回购协议中复制到你的来源/*和上游/*名称。然后,如果愿意,您必须运行第二个Git命令来集成从它们获取的提交。这必须运行第二个Git命令,这就是Git pull存在的原因。默认情况下,git pull运行的第二个命令是git merge。第一个命令始终是git fetch,默认情况下这里没有任何命令。但我总是建议新用户避免使用pull:在学习时将这两个命令分开。了解merge和rebase的作用,以及它们如何影响您的存储库,这是您的真实来源。git pull只获取wre对我的fork所做的提交,但这不是我需要的,我需要引入对上游主分支所做的更改。git pull没有帮助,我只是得到了一个已经更新的git checkout master在这个例子中到底做了什么,为什么需要它?只是为了确保您在本地的fork checkout中位于您的master分支中。好的,我现在这样做了,它看起来像是在完成git合并上游/主节点后进行的更改,它显示在git日志中,但不在git状态,因此,我不需要推送任何内容,因为我有未完成的更改,它的状态应该显示[前面N]在哪里从上游获得N个命令。