无法合并存储库的fork

时间:2013-07-12 21:28:56

标签: git github

我跟随(上游)GitHub上有一个项目:

https://github.com/adaptivecomputing/torque

我有一个这个回购的分支(原产地):

https://github.com/spudstud/torque

新分支已添加到上游存储库中,我想将其拉入原点,然后再添加到本地计算机。

根据GitHub的帮助,这应该很容易。我应该能够使用以下命令同步我的fork。 https://help.github.com/articles/syncing-a-fork

git fetch upstream
git merge upstream/master

不幸的是,我想要的上游分支(4.2.3,4.2.3.1,4.2.3.h2,4.2.3.h3)仍未出现在原点

git clone git@github.com:spudstud/torque.git
cd torque/
git remote add upstream https://github.com/adaptivecomputing/torque.git
git remote -v
      origin    git@github.com:spudstud/torque.git (fetch)
      origin    git@github.com:spudstud/torque.git (push)
      upstream    https://github.com/adaptivecomputing/torque.git (fetch)
      upstream    https://github.com/adaptivecomputing/torque.git (push)
git fetch upstream
git checkout master
git merge upstream/master

git branch -a
* master
  remotes/origin/2.5-dev
  remotes/origin/2.5.12
  remotes/origin/4.1-dev
  remotes/origin/4.1.0
  remotes/origin/4.1.4
  remotes/origin/4.1.4-1648
  remotes/origin/4.1.5
  remotes/origin/4.1.5.1
  remotes/origin/4.1.5.2
  remotes/origin/4.2.0
  remotes/origin/4.2.1
  remotes/origin/4.2.2
  **** 4.2.3,  4.2.3.1,  4.2.3.h2,  4.2.3.h3 should show up about here^ ****
  ...
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/upstream/2.5-dev
  remotes/upstream/2.5.12
  remotes/upstream/4.1-dev
  remotes/upstream/4.1.0
  remotes/upstream/4.1.4
  remotes/upstream/4.1.4-1648
  remotes/upstream/4.1.5
  remotes/upstream/4.1.5.1
  remotes/upstream/4.1.6
  remotes/upstream/4.1.6.h1
  remotes/upstream/4.1.6.h2
  remotes/upstream/4.2-dev
  remotes/upstream/4.2.0
  remotes/upstream/4.2.1
  remotes/upstream/4.2.2
  remotes/upstream/4.2.2.ufl
  remotes/upstream/4.2.3
  remotes/upstream/4.2.3.1
  remotes/upstream/4.2.3.h2
  remotes/upstream/4.2.3.h3
  remotes/upstream/master

到目前为止,我所读到的内容都无法解释问题所在:

感谢答案,我想出来了。 我不明白我需要将更改推回到分支:

git push origin 4.2.4

看来,我试图做的是“快进”我的叉子。 GitHub曾经有一个快进按钮,可以自动使您的分叉存储库与上游 Fast Forward Your Fork 保持同步。看起来GitHub摆脱了快进功能(据我所知),所以我必须为每个分支重复这些步骤。

2 个答案:

答案 0 :(得分:2)

您只是合并主分支。如果你想跟随上游分支(我认为这就是你想要的,内联注释似乎在寻找4.2.3等),那么你需要在本地跟踪它们(假设您希望这些更改可用于细读/编辑)然后将它们推回你的叉子。

git checkout -t upstream/4.2.3

然后将它们推回你的叉子

git push origin 4.2.3

所有提取功能都在拉动整个遥控器。当您git merge时,您的版本只会将上游/主人与您的local/master合并。

答案 1 :(得分:1)

origin你的分叉。上游仓库称为upstream,并且存在upstream/4.2.3等。您可以使用$ git push origin upstream/4.2.3等将它们推送到您的存储库。这两个存储库不会自动同步。