为什么我的github合并会走错方向?

时间:2019-05-18 22:46:53

标签: git github merge language-agnostic github-desktop

我有a repo on GitHub,该分支具有要进行开发的分支(handtracking)。同时,我对master进行了许多更改,我想将它们从 master 合并到 handtracking ,以便我的dev分支具有最新更改。

我使用Windows上的Github Desktop客户端来执行此操作,但未使用命令行。我执行了以下步骤(除非另有说明,否则在Github Desktop中):

  1. 提交所有更改,同步所有内容以进行准备。
  2. 通过分支下拉菜单切换到master分支。
  3. 在客户端中创建拉取请求并选择目标分支;它清楚地指出“从masterhandtracking”。
  4. 首先提交它,然后opened it on the web site,其中也非常清楚地说明了master-> handtracking
  5. 有冲突;所以我选择在网站编辑器上解决它们。出于某种原因,尽管我没有看到对此的实际提交,但它仍将解决方案提交给master。这部分让我感到困惑。
  6. 然后,我在网站上的合并请求上单击了合并按钮,该按钮仍然表示它是从masterhandtracking的。

但是,此时,它创建了两个提交。 One from handtracking into master,这是发生所有错误方式的地方;然后a second one from the updated master back into an apparently new handtracking branch(“显然是新的”,因为颜色在“数据分析”->“网络”视图中已更改)。

第二个提交是引用拉取请求的提交,并且是我唯一希望发生的提交。第一个似乎无所不在,并将所有handtracking的更改合并到master中,这是我不想发生的事情。

现在,网络图如下所示(突出显示的位是整个过程创建的内容):

enter image description here

但是我曾希望它像这样:

enter image description here

我的问题是:

  1. 到底发生了什么?我怎么了我不明白最初的handtracking-> master合并来自何处,尤其是因为在每个地方都有说明清楚地表明合并正在朝着另一个正确的方向发展。

    < / li>
  2. 在仍然使用Github Desktop +网站的情况下如何避免这种情况?还是只能通过命令行客户端才能做到这一点?

我知道(我认为吗?)我以前做过这件事没有问题,我不知道这次有什么不同。

1 个答案:

答案 0 :(得分:1)

使用git并阅读如何在没有Web gui的情况下进行合并,因为它非常有限。这个过程非常简单。在此阶段,如果需要,您可以还原更改,否则只需使用git。您最终要做的是同步合并。