Git:本地合并远程分支

我已经通过所有的远程分支git fetch --all 。 我可以看到我想通过git branch -a作为远程/起源/ branchname合并的git branch -a 。 问题是它不可访问。 我无法合并或结帐?

您可以引用这些远程跟踪分支〜(以git branch -r列出)和远程名称。

如果你想合并你的本地分支的远程分支之一:

 git checkout master git merge origin/aRemoteBranch 

如果您想要将其中一个本地分支合并到其中一个远程分支上,则需要首先在所述远程分支上创build一个本地分支:

 git checkout -b myBranch origin/aBranch git merge aLocalBranch 

每当我做一个合并,我进入我想合并到分支(例如“ git checkout branch-i-am-working-in ”),然后执行以下操作:

git merge origin/branch-i-want-to-merge-from

也许你想用本地分支跟踪远程分支:

  1. 创build一个新的本地分支: git branch new-local-branch
  2. 设置这个新创build的分支来跟踪远程分支: git branch --set-upstream-to=origin/remote-branch new-local-branch
  3. 进入这个分支: git checkout new-local-branch
  4. 将远程分支的所有内容拉入本地分支: git pull

如果你已经获取了你的远程分支,并执行git branch -a
你获得像这样的东西:

 * 8.0 xxx remotes/origin/xxx remotes/origin/8.0 remotes/origin/HEAD -> origin/8.0 remotes/rep_mirror/8.0 

之后,您可以使用rep_mirror/8.0在本地指定您的远程分支。

关键是remotes/rep_mirror/8.0不起作用,但是rep_mirror/8.0rep_mirror/8.0

所以,像git merge -m "my msg" rep_mirror/8.0这样的命令会进行合并。

(注意:这是对@VonC答案的评论,我把它作为另一个答案,因为代码块不适合评论格式)