【Git】多人协作-单分支协作

多人协作

准备工作

在windosw环境下,再克隆同一个项目仓库,模拟一起协作开发的小伙伴

image-20230728152521154

到此,相当于有了两个⽤⼾,分别在linux和windows上针对于同项⽬进⾏协作开发,我们的准备⼯作到此结束。

但是在实际开发当中,每个⽤⼾都有⾃⼰的gitee/github账号,如果要多⼈进⾏协同开发,必须要将⽤⼾添加进开发者,⽤⼾才有权限进⾏代码提交

image-20230728153405642

邀请用户

image-20230728153429191

多人协作场景1-单分支协作

⽬前,我们的仓库中只有⼀个master主分⽀,但在实际的项⽬开发中,在任何情况下其实都是不允许
直接在master分⽀上修改代码的,这是为了保证主分⽀的稳定。所以在开发新功能时,常常会新建其
他分⽀,供开发时进⾏迭代使⽤

可以直接在gitee上新建分支:

image-20230728155126679

image-20230728155139799

创建成功的远程分⽀是可以通过git拉取到本地来,以实现完成本地开发⼯作。此时我们让Linux和Windows平台都将远程仓库进行一次拉取操作


Linux下的操作:

拉取后便可以看到远程的dev分⽀,接着切换到dev分⽀供我们进⾏本地开发。

image-20230728155759220

注意:我们切换到的是本地的dev分⽀,上述的git checkout -b dev origin/dev 代码是为了将本地分⽀和远程分⽀的进⾏关系链接


Windows下的操作:

image-20230728155935656


两个平台都在dev分支上进行开发,并push当远端

Linux平台:

image-20230728160150913

此时码云上仓库的状态:

image-20230728160226249

我们已经将代码成功推送⾄码云,接下来假如你的⼩伙伴要和你协同开发,碰巧也要对file.txt⽂件作修改,并试图推送,例如:

image-20230728160443200

这时推送失败,因为你的⼩伙伴的最新提交和你推送的提交有冲突,解决办法也很简单,Git已经提⽰我们先用git pull把最新的提交从origin/dev抓下来,然后再本地进行合并,并解决冲突,再进行推送!

image-20230728160820299

此时,我们看到远端的码已经能看到我们的新提交了!


由此,两名开发者已经开始可以进⾏协同开发了,不断的 git pull/add/commit/push ,遇到了冲突,就使⽤我们之前所写的冲突处理解决掉冲突,如果要想看到⼩伙伴的代码,只需要 pull ⼀下即可,

image-20230728161118974

最后不要忘记,虽然我们是在分⽀上进⾏多⼈协作开发,但最终的⽬的是要将开发后的代码合并到master上去,让我们的项⽬运⾏最新的代码。接下来我们就需要做这件事情了

具体步骤:

1.切换⾄ master分⽀, pull ⼀下,保证本地的master是最新内容。

2.切换到dev分支,合并 master 分⽀,这么做是因为如果有冲突,可以在dev分⽀上进⾏处理,⽽不是在在master上解决冲突

3.切换⾄ master 分⽀,合并 dev 分⽀

4.将 master 分⽀的内容推送⾄远端

image-20230728161549169

此时,查看远端仓库,master已经是最新代码了:

image-20230728161630024

此时,dev分⽀对于我们来说就没⽤了,那么dev分⽀就可以被删除掉。我们可以直接在远程仓库中将dev分⽀删除掉:

image-20230728161659570

image-20230728161711607


总结

1.⾸先,可以试图⽤git push origin branch-name推送⾃⼰的修改

2.如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤git pull试图合并。如果合并有冲突,则解决冲突,并在本地提交;

3.没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!

4.功能开发完毕,将分⽀merge进master,最后删除分⽀

猜你喜欢

转载自blog.csdn.net/chuxinchangcun/article/details/131992029