如何从git中的另一个远程分支中提取

时间:2017-01-13 23:00:38

标签: git

我正试图从名为“front”的远程分支中的一个分支到名为“back”的分支:

git checkout front
git pull

但我收到错误信息,

Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>.

我现在该怎么办?提前谢谢..

3 个答案:

答案 0 :(得分:2)

  1. 设置远程分支
  2. git remote add origin git@github.com:user/repo.git

    1. 拉它
    2. git pull origin front

      1. 创建您的分支(如果已经存在,请不要使用-b标志)
      2. git checkout -b back

        1. 将前面合并到后面
        2. git merge front

答案 1 :(得分:0)

听起来你正试图git merge两个分支在一起。

以下是为方便起见的文档:https://git-scm.com/docs/git-merge

因为您正在尝试合并&#34;前线&#34;进入&#34;返回&#34;,你需要结账。这可以通过使用以下命令来完成:git checkout back

一旦你有了#34;回来&#34;签出后,只需使用merge命令将两个分支组合在一起:git merge front

命令git pull从远程存储库中删除信息以更新本地存储库。它不会从任何分支机构拉出,只有您当前检出的分支机构。这听起来很有希望,但它确实不是。

请查看此信息,详细了解git pullgit fetchWhat is the difference between 'git pull' and 'git fetch'?。这是一个很好的阅读!

答案 2 :(得分:0)

其他答案很好地解释了如何在从远程提取或获取分支时合并分支。他们都假设您的分支在两个存储库中都有匹配的名称,但Git不需要这样做。

要让一个本地分支“后退”拉出并推送到远程分支“前面”,您只需要正确设置tracking

git checkout -b back origin/front

将创建一个新的本地分支“back”,它将从远程“front”拉出。您还可以使用

设置现有的本地分支
git branch --set-upstream-to=origin/front back

如果您目前已“退回”签出,则不需要最后一个参数。有关设置分支机构的更多信息,请参阅https://stackoverflow.com/a/2286030/2988730