git从前面的上游获取更改并将它们合并到前面的原点

时间:2016-09-06 16:32:54

标签: git github

我使用github分叉了一个存储库,然后在我的机器上本地克隆了它。

git clone https://github.com/username/nasaproject.git

因此,本地仓库作为我的远程github仓库的起源。我还在原始存储库的上游添加了:

git remote add upstream https://github.com/boss/nasaproject.git

运行 git branch -a 会返回:

master
* working_branch
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/working_branch
remotes/upstream/master
remotes/upstream/working_branch

在本地回购中,我做了几处修改,承诺并将它们推到原点。在这个阶段,我的github远程仓库在原始回购之前显示了三次提交。

几天后,原始回购发生了一些变化。 Github表示:

  

这个分支提前3次提交,4次提交 boss:working_branch

我想将这些更改合并到我的远程仓库中。这是我完成的步骤:

git status
git stash
git fetch upstream
git merge upstream/working_branch
git pull —rebase
git stash pop

当地的回购显示:

  

你的分支在3次提交之前超过'upstream / working_branch'

  

你的分支和'origin / working_branch'有分歧,   并分别有7个和3个不同的提交。

现在,我感到困惑。如何更新我的github仓库或原产地?

PS:通常情况下,以下命令可以完成这项任务。

git push origin working_branch

1 个答案:

答案 0 :(得分:0)

因为你做了一个rebase,你需要做一个强制推送

git push --force origin working_branch

Here's指向SO问题的链接,可以很好地解释问题。