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上工作,请帮助我。
您应该能够使用 --allow-unrelated-histories 强制进行合并。
您应该能够像这样使用它:-
git pull origin branchname --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请查看:-
这是因为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。
要BitPankaj根据分支的最新版本(commit C)进行更改master:
git rebase master BitPankaj
git push -f origin BitPankaj
Run Code Online (Sandbox Code Playgroud)
然后,提交历史将如下所示:
A---B---…---C master
\
D---…---E BitPankaj
Run Code Online (Sandbox Code Playgroud)要从BitPankaj分支的旧版本(例如commit B)更改master分支:
git rebase <commit id for B> BitPankaj
git push -f origin BitPankaj
Run Code Online (Sandbox Code Playgroud)
然后,提交历史将如下所示:
A---B---…---C master
\
D---…---E BitPankaj
Run Code Online (Sandbox Code Playgroud)然后,您可以创建请求请求,以成功合并BitPankaj到masterbitbucket的分支中。
| 归档时间: |
|
| 查看次数: |
3166 次 |
| 最近记录: |