无法创建拉取请求以将功能分支合并到新创建的存储库中的主分支

时间:2017-04-06 22:10:50

标签: git github

我在本地创建了一个新的存储库,然后按照https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/

将其推送到Github
  1. 在我的本地计算机上,我通过

    创建了一个新的存储库和一个功能分支
    git init
    git checkout -b featurebranch
    git add somefile
    git commit -m 
    

    然后在github网站上,我创建了一个存储库。

    回到我的本地机器上,

    git remote add origin remote-repository-URL
    
    git push origin featurebranch
    
  2. 然后我意识到我需要创建一个主分支,这样 稍后我可以创建一个拉取请求给别人合并 功能分支进入主分支。所以我创建了一个主分支

    git checkout -b master
    

    git status显示工作目录是干净的,所以我推了 主分支到Github

    git push origin master
    

    在Github上,我将默认分支设置为主分支,但是 无法创建拉取请求以将功能分支合并到 master分支,包含以下通知:

      

    比较更改

         

    没有什么可比较的。 master是所有提交的最新版本   来自B02913。尝试切换基础以进行比较。

  3. 我认为该消息告诉我原因是提交 在主人和功能分支是一样的,所以我回去了 我的本地存储库,我从主分支中删除了所有内容, 并通过

    再次将主分支上的空提交推送到Github
    git rm somefile
    git commit -m 
    git push origin master
    

    即使主分支上的当前提交,我仍然 无法创建拉取请求以将功能分支合并到 主分支,与上述通知相同。

    我不明白为什么我仍然得到相同的通知,因为 现在master上的当前提交是空的,而当前提交 在功能分支上没有。

  4. 现在该怎么办,创建一个拉取请求,将功能分支合并到主分支中?

    感谢。

2 个答案:

答案 0 :(得分:1)

你不能将那个分支合并到master中(因为master已包含来自该分支的所有提交),但是你将能够合并你从master分支出来的更多分支。

答案 1 :(得分:1)

  

然后我意识到我需要创建一个主分支,以便稍后我可以创建一个拉取请求给其他人将功能分支合并到主分支。

这是完全错误的。 master只是一个恰好是传统默认名称的任意名称,但绝不是强制性的。您可以为要在任何其他分支中合并的任何分支创建拉取请求。

这当然要求 要合并的东西。在您的情况下,功能分支已经完全成为主分支的一部分,因此没有任何内容可以合并。在功能分支上创建另一个提交,您可以创建一个拉取请求。或者,当您在主分支上创建新提交时,您还可以创建拉取请求以将主分支合并到功能分支中。