我在gitlab中有一个用例,其中我必须从testdemo
创建一个分支,说master
,因为master
是默认分支,所以我们正在保护主节点。
由6个开发人员组成的团队正在testdemo
分支(即feature
分支)上进行工作,
开发人员A使用git push -u origin HEAD:ref/for/testdemo
进行一些分支转移,开发人员A尚未提出合并请求。
并行地,开发人员B添加新文件,并尝试使用git push -u origin HEAD:ref/for/testdemo
推送到同一分支。
我遇到以下错误:
提示:由于推送的分支提示位于其远程提示:对应项之后,因此拒绝更新。签出此分支并集成远程更改
我该如何解决?我的用例是开发人员致力于ref/for/testdemo
并进行代码审查,然后将其合并到testdemobranch
。当两个开发人员进行并行提交或开发人员确实修改了当前提交时,我该如何实现?
谢谢
Saikrishna
答案 0 :(得分:0)
好像您刚刚从Gerrit移到gitlab。
使用Gitlab时,每个开发人员应使用自己的分支进行开发,然后仅将其工作合并到master或Feature分支。
因此,改为推送到HEAD:ref/for/testdemo
推送到单独的分支git push -u origin task-123
或git push -u origin whatever-description-fits-your-branch-best
。
在开始使用gitlab时,我建议您熟悉一些有用的东西:Gerrit vs gitlab,gitlab workflow overview,gitlab flow。
答案 1 :(得分:0)
将开发人员#2推送到同一分支
git add <localfilename>
git commit -m"commit message"
git pull origin testdemo
git push origin testdemo