如何从Git的不同远程分支拉取代码?

16

我正在尝试从远程的名为“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>.

现在我应该做什么?提前致谢。


1
你没有展示你输入的命令或者回应。 - Don Branson
  1. git checkout front
  2. git pull
  3. 我收到了错误信息
- Jawakar Selvaraj
2
把那个放在问题里。 - Don Branson
2
@JawakarSelvaraj问题相关的所有代码都应该在问题中,而不是在注释中。 - artm
5个回答

10
  1. 建立远程分支

git remote add origin git@github.com:user/repo.git

  1. 拉取代码

git pull origin front

  1. 创建你的本地分支(如果back已经存在,则不需要-b标志)

git checkout -b back

  1. 将front合并到back上

git merge front


不完全回答问题,但这是一个解决方案。 - Barbz_YHOOL

4
其他答案已经很好地解释了如何在从远程拉取或获取分支后合并它们。他们都假设你的分支在两个仓库中具有相同的名称,但这并不是 Git 所必需的。
要让本地分支“back”从远程分支“front”拉取并推送,你只需要正确设置跟踪即可:
git checkout -b back origin/front

将创建一个新的名为“back”的本地分支,该分支将从远程分支“front”拉取。您也可以使用以下命令设置现有的本地分支:
git branch --set-upstream-to=origin/front back

如果您当前已经签出了“back”,则最后一个参数是不必要的。有关设置分支的更多信息,请参见https://dev59.com/mnRB5IYBdhLWcg3wxZ1K#2286030

1

看起来你正在尝试将两个分支合并,可以使用git merge命令。

这里是文档链接方便查阅:https://git-scm.com/docs/git-merge

由于你要将“front”合并到“back”,所以需要先切换到“back”。可以使用以下命令完成:git checkout back

一旦你已经切换到“back”,只需使用合并命令将两个分支合并在一起:git merge front

git pull 命令会从远程仓库下载信息以更新本地仓库。它不会拉取任何分支,只会拉取当前所在的分支。听起来很有前途,但实际上并不是这样。

查看这篇文章,了解更多关于 git pullgit fetch 的区别:What is the difference between 'git pull' and 'git fetch'?。这是一篇很棒的文章!


不使用 git pull? - Jawakar Selvaraj
1
如果您的本地存储库不是最新的,那么您应该执行 git pull 命令;然而,仅仅执行 pull 命令并不能实现将一个分支的信息带到另一个分支的目标。 - Adam Young

1
如果我理解的没错,您正在名为“back”的分支上工作,并希望从“front”分支拉取更改。如果您想要实现这一点,可以尝试以下命令(在“back”分支中执行):
git pull origin front

0

在切换到一个新分支时,Git会给我旧的提交内容。为了将新提交内容放到我的前置分支中:

在Android Studio中,使用菜单选项来进行Git Pull操作。它会给出一个从下拉列表中选择后置分支的选项。但是这只有当你在前置分支中没有任何更改时才有效。如果你有新的更改,则必须提交或者存储它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接