我是否需要git pull和merge来从远程存储库获取最新更新?

时间:2016-08-09 19:41:55

标签: git

在我将工作推送到远程存储库的功能分支后,有人将其合并到主分支。

从那时起,我没有对我的本地工作目录和本地存储库以及远程存储库进行任何更改,而其他人则对远程存储库进行了更改。

现在我想从远程存储库中获取最新的工作,

  • git pull正确的命令?
  • 我不需要合并,因为我的上次提交是主分支上当前提交的祖先吗?

正在运行git pull并不成功。 运行git pull的输出包含以下内容

  

当前分支没有跟踪信息。请   指定要合并的分支。请参阅git-pull(1)   细节

git pull <remote> <branch>
     

如果您希望为此分支设置跟踪信息,则可以执行此操作   用:

git branch --set-upstream-to=origin/<branch> core-81

这是什么意思?

感谢。

2 个答案:

答案 0 :(得分:1)

您需要通过运行

切换到主分支
git checkout master

将master更改为主分支(例如development)。 然后运行git pull以从主分支获得最新的工作。

git pull的最常见用法是

git pull origin branch

其中origin是远程存储库,branch是从中提取信息的远程分支。但是,您可以运行

git push -u origin branch
# or
git branch -u origin/branch branch

此命令(-u代表--set-upstream)将远程分支设置为此本地分支的跟踪,稍后您只需为此分支运行git pull

答案 1 :(得分:1)

<强>描述

除此之外,如果您还没有为您的分支机构设置上游,它将无法pull;只是因为git不知道从哪里拉

为了拉动您感兴趣的分支,您可以运行

git pull <remote> <branch>

注意: 您可以在此处添加-u以设置上游

正如git在提供的输出中向您建议。

git branch --set-upstream-to <branch> <remote>/<branch>

此指令将手动设置指定分支的上游,如上述签名中所示。

您也可以在按

进行推送时自动设置
git push -u <remote> <branch>

注意: -u设置上游

编辑1

@torek

  

虽然git pull有一个-u选项,但它只是将它传递给git fetch,   这意味着--update-head-ok。正如文档所说,&#34;除非   你正在实施自己不应该使用的瓷器   它&#34。请注意,这与git push -u完全不同   应该根据需要使用。

<强>参考

6089294