如何在分支名称之间执行“ git pull”

时间:2020-05-22 15:09:24

标签: git

我一直在使用来自两台不同机器的远程分支。现在,我尝试使用对另一台计算机(在分支内)所做的更改来更新一台计算机。

请注意,git在执行

后会告诉我
git pull

git push

一切都没问题之前。 因此,在“ git pull”告诉我之后:

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-pull(1) for details
    git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
    git branch --set-upstream-to=origin/<branch> MyBranchName

基本上,这里关于这个问题的所有答案对我来说都是无用的,因为它们假设的是我不知道的事情。

因此,只需回答解决此冲突所需输入的内容。 我已经对git的建议感到困惑。我不知道

origin/<branch>

是一种选择,或者如果我必须像提供的那样输入。

我认为以某种方式,远程中可能有与本地分支名称关联的不同分支名称。但是我仍然感到困惑,为什么我应该提供多个名称(甚至没有一个)。那么为什么要输入的内容比:

git branch --set-upstream-to=MyBranchName

甚至:

git branch --set-upstream-to-default

与此同时,我已经使用git三年了,这不是我第一次遇到这个问题。

一个好的答案可能是:

输入

git branch --set-upstream-to=origin MyBranchName

由于某种原因或其他原因,每次要从分支中拉出时都必须执行此操作(但可以使用push进行操作)。

2 个答案:

答案 0 :(得分:0)

请记住,遥控器具有名称。通常,如果您只有一个遥控器,则将其命名为origin,但是此名称完全是任意的,由您决定。

好吧,所以当git在类似的方括号中显示某些内容时,意味着“在此处输入真实姓名”。因此,如果将远程称为origin,将分支称为mybranch,则git会告诉您您可能想说git pull origin mybranch

是否还要在分支上设置上游明确取决于您的工作流程。通常这是一个很好的主意。

答案 1 :(得分:-1)

所以看来要从分支中拉出,需要指定

git pull origin YourBranchNameToPullFrom

“起源”是一个魔术字,需要像显示的那样放在那里。 或者,可以使用一些脚本从git中提取“ YourBranchNameToPullFrom”:

git pull origin `git status|grep 'On branch '|sed -e 's/^On branch //'`
相关问题