我有一个小组在单个存储库上工作,我要求每个队友创建一个自己的分支并在该分支上工作,他们所有人都克隆了存储库,然后执行以下命令:
git checkout -b BitPankaj
BitPankaj
是插图分支名称,他们开始在此分支上工作,并通过git branch --set-upstream origin BitPankaj
现在,在我的存储库中,我可以看到那些分支出现了,并且它们的提交也可见:
和分支机构:
现在,他们每个人都在尝试创建 pull 请求以查看那里的代码并 merge 到master分支。所以他们尝试做这样的事情:
但这会引发不相关分支的错误:
我们正在学习在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
为了在
BitPankaj
和master
之间创建 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/