在Bitucket中创建拉取请求错误

Nit*_*mar 4 git version-control bitbucket pull-request

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

git checkout -b BitPankaj
Run Code Online (Sandbox Code Playgroud)

BitPankaj 是插图分支的名称,他们开始在此分支上工作,并通过那里上传了工作

git branch --set-upstream origin BitPankaj
Run Code Online (Sandbox Code Playgroud)

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

提交部分

和分支机构:

分支机构

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

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

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

拉取请求错误

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

Ton*_*ler 6

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

您应该能够像这样使用它:-

git pull origin branchname --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看:-

Git 合并文档

  • 我不想在与其他团队成员审查代码之前合并它们,因此为此我需要之前有拉取请求。有什么办法可以允许我的比特桶账户中存在不相关的历史记录吗? (2认同)

Mar*_*Liu 5

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

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

A---B---…---C   master
D---…---E    BitPankaj
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

为了在BitPankaj和之间创建拉取请求master,您应该branch 更改branchBitPankajmaster

然后,您可以创建请求请求,以成功合并BitPankajmasterbitbucket的分支中。