欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 【Git多人协作开发】同一分支下的多人协作开发模式

【Git多人协作开发】同一分支下的多人协作开发模式

2024/11/5 20:56:19 来源:https://blog.csdn.net/m0_74841364/article/details/140667194  浏览:    关键词:【Git多人协作开发】同一分支下的多人协作开发模式

目录

0.前言场景

1.开发者1☞完成准备工作&协作开发

1.1创建dev分支开发 

1.2拉取远程dev分支至本地

1.3查看分支情况和分支联系情况

1.4创建本地dev分支且与远程dev分支建立联系

1.5在本地dev分支上开发file.txt

1.6推送push至远程仓库

2.开发者2☞完成准备工作&协作开发

2.1创建git目录

2.2powershell页面

2.3https协议克隆远程仓库

2.4查看分支情况且创建本地分支

2.5远程dev分支和本地dev分支建立连接

2.6windows图形化界面直接开发

2.7三板斧☞推送push

3.push出现冲突 

4.将内容合并进master分支

5.删除无用分支dev

6.总结模式


0.前言场景

目标:远程master分支下file.txt文件新增"aaa"、"bbb"。

实现:由开发者1新增"aaa",由开发者2新增"bbb"。

条件:在一个分支下协作完成。

【目前远程仓库的状态】

1.开发者1☞完成准备工作&协作开发

1.1创建dev分支开发 

 ❓怎么模拟两个开发者

Linux环境下和windows环境下都去克隆远程仓库就可以模拟两个开发者。

❓开发者1和2都是基于同一分支开发的

  • 肯定不是master分支(master分支是一个稳定的分支)
  • 创建一个其他dev分支来开发(本地或远程都可以创建)
  • 注意:无论是本地创建还是远程创建,都需要基于master的最新一次提交的版本。
  • 分支起点:基于哪个分支新建一个分支。

❗这里【演示在远程创建】☞然后pull拉取☞本地仓库

注意:这里创建的dev分支就是基于master最新一次提交版本来创建的。

 【远程创建】

1.2拉取远程dev分支至本地

  • git pull origin dev
  • git pull :这里短pull是拉取远程仓库的内容。(而非分支下的内容)

1.3查看分支情况和分支联系情况

  • git branch -a 在本地仓库查看本地分支和远程分支
  • 注意:本地的修改 必须在本地的分支上去操作,由本地push推送至远程的分支,不能直接在本地切换到远程的分支下去修改。相当于直接修改远程的分支下的某些内容。

  • git branch -vv查看本地分支和远程分支建立连接

1.4创建本地dev分支且与远程dev分支建立联系

  • 【建立联系情况1】:远程仓库存在dev分支,在本地仓库创建dev分支同时和远程仓库建立联系。
  • git checkout -b dev origin/dev
  • 在创建dev分支的时,切换到了本地dev分支下,同时将本地dev分支和远程的dev分支建立了一个连接。

1.5在本地dev分支上开发file.txt

  • vim file.txt
  • git add .
  • git commit -m " "

1.6推送push至远程仓库

  • git push
  • 因为上面已经建立了连接可以使用push操作的短命令

 

2.开发者2☞完成准备工作&协作开发

2.1创建git目录

2.2powershell页面

2.3https协议克隆远程仓库

2.4查看分支情况且创建本地分支

2.5远程dev分支和本地dev分支建立连接

  •  【建立联系情况2】:远程仓库由dev分支,本地仓库也创建了dev分支。
  • git branch --set-upstream-to=origin/dev dev

2.6windows图形化界面直接开发

2.7三板斧☞推送push

3.push出现冲突 

此刻出现以下情况:

  1. 先使用 git pull:将远程仓库的file.txt的内容拉取到到开发者2的本地仓库中(发生本地合并冲突)
  2. 在开发者2的本地服务端:解决冲突
  3. 再次提交,再次推送

 

4.将内容合并进master分支

  • master分支是没有这两行代码的。原因是master分支没有进行merge合并dev分支操作的。(所以是没有新增内容的)
  • 在工作中推荐使用PR申请单,因为PR需要经过审查员的审核的。审查员都是老板,项目经理对,开发代码都是有保障性质的。才能确保master分支是一个稳定的状态。

  • 两种解决方案
  1. 远程:PR☞申请单☞审查员审核(老板、项目经理)☞merge
  2. 本地:在本地服务器上merge操作☞再推送至远程仓库
  • 本地:merge操作
  1. 注意合并的master都是最新一次提交记录的版本(最新的❗)所以需要需要pull拉取远程仓库最新版本的master分支内容。master:pull
  2. 好习惯:切换到dev分支上先merge合并master分支,存在冲突在dev分支上解决,再次提交。dev merge master
  3. 切换至master分支之后再次合并dev分支。master merge dev
  4. 最后再push远程仓库。master:push

【master:pull】 

【dev merge master】

【master merge dev】

【master:push】

5.删除无用分支dev

6.总结模式

总结⼀下,在同⼀分⽀下进⾏多⼈协作的⼯作模式通常是这样:

  • 首先,可以试图⽤ git push origin branch-name 推送⾃⼰的修改;
  • 如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤ git pull 试图合并;
  • 如果合并有冲突,则解决冲突,并在本地提交;
  • 没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!
  • 功能开发完毕,将分⽀ merge 进 master,最后删除分⽀。 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com