【问题标题】:Creating a pull request in Bitucket: error "Unrelated branches"在 Bitbucket 中创建拉取请求:错误“不相关的分支”
【发布时间】:2018-02-19 19:17:42
【问题描述】:

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

git checkout -b BitPankaj

BitPankaj是插图分支名称,他们开始在这个分支上工作并通过

上传到那里
git branch --set-upstream origin BitPankaj

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

和分支:

现在他们每个人都试图创建一个拉取请求来审查那里的代码并合并到主分支。所以他们尝试做这样的事情:

但是会抛出不相关分支的错误:

保存此拉取请求时发生以下错误:不相关的分支

我们正在学习使用 git,请帮帮我。

【问题讨论】:

    标签: git version-control bitbucket pull-request


    【解决方案1】:

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

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

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

    您可以仔细检查您的本地存储库。更新/拉取分支并将日志显示为图表:

    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 之间创建拉取请求,您应该master 分支更改BitPankaj 分支

    • 根据master 分支的最新版本(提交C)更改BitPankaj

      git rebase master BitPankaj
      git push -f origin BitPankaj
      

      那么提交历史会是这样的:

      A---B---…---C   master
                   \
                    D---…---E   BitPankaj
      
    • master 分支的旧版本(例如提交B)更改BitPankaj 分支:

      git rebase <commit id for B> BitPankaj
      git push -f origin BitPankaj
      

      那么提交历史会是这样的:

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

    然后您可以创建拉取请求以将BitPankaj 合并到bitbucket 上的master 分支成功。

    【讨论】:

      【解决方案2】:

      您应该能够使用 --allow-unrelated-histories 强制合并发生。

      你应该可以像这样使用它:-

      git pull origin branchname --allow-unrelated-histories
      

      更多信息请查看:-

      Git Merge Documentation

      【讨论】:

      • 我不想在与其他团队成员审查代码之前合并它们,所以为此我需要之前有拉取请求。有什么方法可以让我的比特桶帐户中不相关的历史记录?
      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 2021-06-19
      • 1970-01-01
      相关资源
      最近更新 更多