git:如何从远程分支获取并合并到本地分支?

4
我要从以下地址进行fork操作: 这将导致我的地址变为:
  • github.com/MYACCOUNT/mantisbt
我要从远程库(mantisbt/mantisbt)中获取最新分支(master-1.2.x)并合并到本地库的相同分支。
具体步骤如下:
  • git fetch remote-repo-branch
  • git merge remote-repo-branch/local-branch
更新后的内容:
使用以下命令获取内容:
  • git fetch upstream master-1.2.x
将其与当前检出的分支合并:
  • git merge origin/master-1.2.x

可能是Git:在本地合并远程分支的重复问题。 - Michael Freidgeim
2个回答

8

Github在他们的"fork a repo"帮助文档中有一个完全符合这个要求的示例。

git remote add upstream git://github.com/mantisbt/mantisbt 
// Assigns the original repo to a remote called "upstream"
git fetch upstream

我在这里提问之前已经尝试过了,但是当你克隆时,只有主分支会被“fetch”和“merge”“创建”和“更新”。分支不受影响,并保留在远程仓库分叉时的修订版本。 - udo
你只需要指定你想要拉取的上游分支的名称。在SO上还有一些其他相关问题。https://dev59.com/YXVD5IYBdhLWcg3wKYP- https://dev59.com/jnI-5IYBdhLWcg3wta_w。基本上是 git fetch upstream other-branch - ptomli

0

与编程有关的内容,仅返回翻译文本:

对于我而言无法工作(git 版本 1.7.9.5 并使用 HTTPS 协议):

最初我从“他们的账户”fork了“foobar.git”到“我的账户”:

their_account/foobar.git => my_account/foobar.git

所关心的分支是"baz"
我在"baz"上做了提交,他们也这样做了。我想将他们的提交与我的合并。如ptomli上面建议的那样,我执行了以下操作:
$ git checkout baz
$ git fetch https://github.com/their_account/foobar.git baz
Username for 'https://github.com': my_account
Password for 'https://my_account@github.com': 
remote: Counting objects: 189, done.
remote: Compressing objects: 100% (109/109), done.
remote: Total 189 (delta 92), reused 151 (delta 76)
Receiving objects: 100% (189/189), 107.77 KiB, done.
Resolving deltas: 100% (92/92), done.
From https://github.com/their_account/foobar
 * branch            baz -> FETCH_HEAD

我没有看到提到的步骤是:

$ git merge FETCH_HEAD

并且这两个分支已经合并。


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