【问题标题】:Update of forked repository on github更新 github 上的分叉存储库
【发布时间】:2013-04-18 10:23:23
【问题描述】:

我从 github 分叉了一个存储库 - 它称为 bootstrap。

我已经克隆了我的叉子:

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

引导项目有一个 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。

我曾经通过 tortoise 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 存储库中的文件后,我需要运行哪些正确步骤?

【问题讨论】:

    标签: git github git-fork


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

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

      git merge upstream/3.0.0-wip
      

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

      【讨论】:

        猜你喜欢
        • 2011-05-19
        • 2011-04-23
        • 2012-10-05
        • 2013-03-16
        • 1970-01-01
        • 1970-01-01
        • 2015-04-16
        • 2023-01-25
        相关资源
        最近更新 更多