【问题标题】:Git diverged from upstream despite my changes getting merged尽管我的更改被合并,Git 还是从上游分道扬镳
【发布时间】:2012-03-01 11:23:39
【问题描述】:

我有 a forkF-Droid 偶尔提交小补丁。
合并更改后,我希望拥有与上游完全相同的文件。

问题:我的叉子不知何故开始“发散”。即使是最小的更改,Gitorious 也会显示很多文件,而对于我的最新补丁upstream said

我不得不挑选出相关的提交,因为你的 repo 似乎已经发生了如此巨大的分歧,以至于差异似乎基本上显示了所有正在改变的东西

这是我一直做的:

git pull upstream master
git push
<make my changes>
git commit -m "bla"
git push
<and then I send a merge request via Gitorious website>

我做错了什么?
浪费上游宝贵的时间让我很难过。

【问题讨论】:

    标签: git gitorious


    【解决方案1】:

    不要拉,如果它不能快进,它会创建一个合并提交,如果你做了一些提交,很可能就是这种情况。

    如果您的提交不在远程分支中,只需获取并基于它重新设置。

    【讨论】:

    • 你的意思是从我自己的远程分支获取,还是从上游获取?
    • @NicolasRaoul 从上游获取。
    • @NicolasRaoul 看看: git log --graph --oneline --decorate --all 你可能会看到你的提交不在 origin/master 之上(上游):有不应该存在的合并。
    • @NicolasRaoul 顺便说一句,您应该为合并创建专用分支。这些分支一旦被上游合并就可以被删除。
    • 记住不要在公共分支上使用 rebase,因为它改写了历史:从公共分支“分叉”的人在 rebase 后会非常失望。
    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2011-08-11
    • 2019-03-29
    • 2017-01-16
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多