3

我从 github 分叉了一个存储库——它叫做 bootstrap。

我已经克隆了我的叉子:

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

bootstrap 项目有一个 master 分支和一个 3.0.0-wip 分支 - 将在 3.0.0-wip 上工作

所以接下来我要做的(因为我在 master 上并且它是 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 中有一些更改,并且我的分叉存储库不再是实际的。

我应该如何更新我的分叉存储库以使其尽可能干净,因为它可能仅用于在拉取请求中推送它?我听说我应该做 fetch/rebase。

我曾经pull通过乌龟 git 做过一次,在我推送之后,我的拉取请求中几乎没有我的提交...... - 你可以在这里看到它:https ://github.com/twitter/bootstrap/pull/7641#commits- push-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 存储库中的文件后,我需要运行哪些正确步骤?

4

2 回答 2

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
于 2013-04-24T18:20:06.980 回答
0

在我看来,而不是git merge upstream/master你应该做

git merge upstream/3.0.0-wip

(顺便说一句,正如您被告知的那样,做 a 可能是一个更好的主意git rebase

于 2013-04-24T18:20:20.933 回答