更新github上的分叉存储库

时间:2013-04-24 18:11:25

标签: git github git-fork

我从github派了一个存储库 - 它叫做bootstrap。

我克隆了我的叉子:

git clone https://github.com/Fowowski/bootstrap.git

bootstrap项目有一个主分支和一个3.0.0-wip分支 - 生病了3.0.0-wip

接下来我做的事情(因为我在主人身上,它的2.3.x稳定版)是切换到3.0.0-wip并添加一个遥控器:

git checkout 3.0.0-wip
git remote add upstream https://github.com/twitter/bootstrap.git

现在我在1文件中进行了一些更改...在我完成几天之后,我意识到3.0.0-wip中有一些更改,我的分叉存储库不再是实际的。

我应该如何更新我的分叉存储库以使其干净,因为它可能只是用于在pull请求中推送它?我听说我应该去抓取/变基。

我曾经通过乌龟git做了pull一次,在我推动之后,在我的拉动请求中提交的内容很少... - 你可以在这里看到它:https://github.com/twitter/bootstrap/pull/7641#commits-pushed-2eb9053 - 我假设我并没有做一些重要的事情,但真的不知道。

我做了一些关于我的问题的研究,我发现我应该运行:

git fetch upstream

git merge upstream/master

git push

我的问题是 - 那就是我最不了解git的部分:git merge upstream / master - 我不能合并上游/ master,因为master是bootstrap 2.3.x而不是3.0.0-wip?我想念这个命令还是什么?

请告诉我如何通过git bash正确更新我的分叉存储库?在克隆的fork存储库中更改文件后,我需要运行哪些正确的步骤?

2 个答案:

答案 0 :(得分:0)

fetch / rebase的想法很好,特别是如果你还没有推动你的工作:

git fetch
# Assuming you are in the right 3.0.0-wip
git rebase upstream/3.0.0.-wip

您甚至可以使用pull --rebase

更快地完成此操作
git pull --rebase upstream

答案 1 :(得分:0)

听起来我不应该git merge upstream/master而应该做

git merge upstream/3.0.0-wip

(顺便说一下,正如你所知,做一个git rebase可能是个更好的主意)