我有一个小组在单个存储库上工作,我要求每个队友创建一个自己的分支并在该分支上工作,他们所有人都克隆了存储库,然后执行以下命令:

git checkout -b BitPankaj
BitPankaj是插图分支名称,他们开始在此分支上工作,并通过
git branch --set-upstream origin BitPankaj

现在,在我的存储库中,我可以看到那些分支出现了,并且它们的提交也可见:

git - 在Bitbucket中创建 pull 请求错误-LMLPHP

和分支机构:

git - 在Bitbucket中创建 pull 请求错误-LMLPHP

现在,他们每个人都在尝试创建 pull 请求以查看那里的代码并 merge 到master分支。所以他们尝试做这样的事情:

但这会引发不相关分支的错误:



git - 在Bitbucket中创建 pull 请求错误-LMLPHP

我们正在学习在git上工作,请帮助我。

最佳答案

这是因为BitPankaj分支是孤立分支。

这意味着分支BitPankaj并非是从master分支创建的(如您所料),但是可以改用git checkout --orphan BitPankaj。分支结构如下:

A---B---…---C   master
D---…---E    BitPankaj

您可以仔细检查本地存储库。更新/pull 分支并将日志显示为图形:
git checkout master
git pull origin master
git checkout BitPankaj
git pull BitPankaj
git log --oneline --decorate --graph --all
#Or you can use gitk --all if you installed git bash

为了在BitPankajmaster之间创建 pull 请求,您应该BitPankaj分支更改master分支。
  • 要根据BitPankaj分支的最新版本(commit C)更改master,请执行以下操作:
    git rebase master BitPankaj
    git push -f origin BitPankaj
    

    然后,提交历史将如下所示:
    A---B---…---C   master
                 \
                  D---…---E   BitPankaj
    
  • 要根据BitPankaj分支的旧版本(例如commit B)更改master分支:
    git rebase <commit id for B> BitPankaj
    git push -f origin BitPankaj
    

    然后,提交历史将如下所示:
    A---B---…---C   master
         \
          D---…---E   BitPankaj
    

  • 然后,您可以创建 pull 请求,以将BitPankaj成功 merge 到bitbucket上的master分支中。

    关于git - 在Bitbucket中创建 pull 请求错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46157540/

    10-13 06:14