Github Pull Request:没有什么可比较的

时间:2018-12-19 04:02:14

标签: git github merge branch pull

我有一个master分支,以及一个简单项目的add_db分支。我已经完成了所有代码编辑并在add_db上进行了推送。但是,我想将所有这些提交合并到我的master分支中。当我尝试在github上创建请求请求时,出现一条错误消息:没有什么可比较的。

我确保我有base:master compare:add_db。

该如何解决?

这是上下文的存储库: https://github.com/boxcarcoder/Task-List

我在另一篇文章中看到我可以使用git rebase --onto或git cherry-pick,但是我不确定如何使用它们。我是git的新手。感谢您抽出宝贵的时间阅读这篇文章。

2 个答案:

答案 0 :(得分:0)

  

Git提交是提交的链接列表,后面的提交具有和分支是指向提交的指针   先前提交的参考。 C1 <-C2 <-C3 <-C4 <-C5

如果您的子分支源自父分支,则可以创建合并请求。

         master
          |
          v
 C1<-C2<-C3    new_branch
          ^       |
          |       v
          C4<-C5<-C6

如果您看到两个分支的提交历史,则它们的第一次提交(头提交)不同。 因此,由于两个分支都是从不同的历史记录开始的,因此您无法创建合并请求。

在您的情况下:

      master
        |
        v
C1<-C2<-C3

C4<-C5<-C6
         ^
         |
      add_db

在您的情况下,您可以比较并合并它们,因为合并它们将创建一个新的合并提交并对齐提交历史记录。

master: C1<-C2<-C3
                   \
                   C7(merge commit)
                   /
add_db: C4<-C5<-C6

还要确保您总是从其他分支创建一个新分支。

答案 1 :(得分:0)

我执行了git merge add_db合并分支,然后执行git pull(git url)master --allow-unrelated-histories将本地master分支更新为我的远程master分支。现在,我的本地master分支具有add_db的提交,并且与远程服务器上的提交保持同步,现在我可以git push --set-upstream origin master。我的github的master分支现在有了我的add_db的提交。

本质上,我必须进行合并,拉取,然后再推送以更新github中我的远程服务器中的master分支。