我有一个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的新手。感谢您抽出宝贵的时间阅读这篇文章。
答案 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分支。