Git--多人协作开发

这篇具有很好参考价值的文章主要介绍了Git--多人协作开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

目前,我们所完成的工作如下 :

  • 基本完成Git的所有本地库的相关操作,git基本操作,分支理解,版本回退,冲突解决等等
  • 申请码云账号,将远端信息clone到本地,以及推送和拉取

正文开始!!!

一、多人协作一

是时候干最重要的一件事情了,实现多人协作开发!为了这件事情,我们需要先做一些准备工作.我们之前已经将项目clone到了指定目录,如 :
gitee 协同开发,Git的原理和使用,git
接下来在windows环境下,再clone同一个项目仓库,来模拟和你一起协作开发的另一名小伙伴 :

gitee 协同开发,Git的原理和使用,git
注意,这里我们模拟了两个用户,实际开发中,每个用户都有自己的Gitee/GitHub账号,如果要多人进行协同开发,必须要将用户添加进开发者,用户才有权限进行代码提交 :
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
至此,相当于两个用户,分别在linux和windows上针对同项目进行协作开发,我们的准备工作到此结束.

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

那么接下来,就让我们在Gitee上新建dev远程分支供我们使用 :

gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git

创建成功的远程分支是可以通过Git拉取到本地来,以实现完成本地的开发工作.

接下来让我们和另一名开发的小伙伴都将远程仓库进行一次拉取操作,并观察结果 :

  • 对于开发者1要操作的是 :
    gitee 协同开发,Git的原理和使用,git
    拉取后可以看到远程的dev分支,接着切换到dev分支供我们进行本地开发.
  • 对于开发者2要操作的是 :

gitee 协同开发,Git的原理和使用,git

gitee 协同开发,Git的原理和使用,git首先我们在本地创建dev分支,将本地dev分支和远端dev分支进行关联

  • 开发者1
    gitee 协同开发,Git的原理和使用,git
  • 开发者2
    gitee 协同开发,Git的原理和使用,git

现在,你和小伙伴就可以在dev上完成开发.

开发目标

gitee 协同开发,Git的原理和使用,git
首先,我在dev分支上进行一次开发,并push到远程.例如 :

gitee 协同开发,Git的原理和使用,git
再来看看码云上目标仓库的状态 :

gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
至此,开发者1已经将代码成功推送至码云,接下来加入你的小伙伴要和你协同开发,碰巧也要对file.txt文件作修改,并试图推送,例如 :

gitee 协同开发,Git的原理和使用,git
这时推送失败,因为你的小伙伴的最新提交和你推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新提交从origin/dev抓下来,然后在本地进行合并,并解决冲突,在推送.操作如下 :

gitee 协同开发,Git的原理和使用,git
解决冲突,重新推送 :

gitee 协同开发,Git的原理和使用,git
此时,我们看到远端的码云已经能看到我们的新提交了!
gitee 协同开发,Git的原理和使用,git
由此,两名开发者已经开始可以进行协同开发了,不断的git pull/add/commit/push,遇到了冲突,就解决冲突即可.

对于你来说,想要看到小伙伴提交的代码,只需要git pull一下即可.

将dev分支内容合并至master分支

虽然是在分支上进行多人协作开发,但最终的目的是要将开发后的代码合并到master上去,让我们的项目运行最新的代码.操作如下 :
gitee 协同开发,Git的原理和使用,git
切换到master分支,pull一下,保证本地的master是最新内容,合并前这么做是一个好习惯.
gitee 协同开发,Git的原理和使用,git
切换⾄ dev 分⽀, 合并 master 分⽀这么做是因为如果有冲突,可以在dev分⽀上进⾏处理,⽽不是在在master上解决冲突。这么做是⼀个好习惯.
gitee 协同开发,Git的原理和使用,git
切换至master分支,合并dev分支.
gitee 协同开发,Git的原理和使用,git
此时,查看远端仓库,master已经是最新代码了 :
gitee 协同开发,Git的原理和使用,git
此时,dev分支对于我们来说就没有用了,那么dev分支就可以被删除掉,我们直接可以在远程仓库中将dev分支删除掉 :

gitee 协同开发,Git的原理和使用,git

gitee 协同开发,Git的原理和使用,git

总结:在同一分支下进行多人写作的工作模式通常是这样的 :

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

二、多人协作二

gitee 协同开发,Git的原理和使用,git
一般情况下,如果有多需求需要多人同时进行开发,是不会在一个分支上进行多人开发的而是一个需要或一个功能点就要创建一个feature分支.

现在同时有两个需求需要你和你的小伙伴进行开发,那么你们俩便可以各自创建一个分支来完成自己的工作.在上个部分我们已经了解了可以从码云直接创建远程分支,其实在本地创建的分支也可以通过推送的方式发送到远端.在这里我就采用这种方式.

开发者1操作

新增本地分支 feature-1 并切换

gitee 协同开发,Git的原理和使用,git
新增需求内容-创建func1文件

gitee 协同开发,Git的原理和使用,git
将 feature-1 推送至远端

gitee 协同开发,Git的原理和使用,git

开发者2操作

创建并切换到 feature-2 分支

gitee 协同开发,Git的原理和使用,git
在分支下为需求新增func2文件
gitee 协同开发,Git的原理和使用,git
将 feature-2 分支推送至远端
gitee 协同开发,Git的原理和使用,git
此时,在本地你看不见他新建的文档,他看不见你新建的文档.并且推送各自的分支时,并没有任何冲突,你俩互补影响,用起来很舒服!

此时来查看码云上面的状态 :
gitee 协同开发,Git的原理和使用,git
对于开发者1的 feature-1 分支 :
gitee 协同开发,Git的原理和使用,git
对于开发者2的 feature-2 分支 :

gitee 协同开发,Git的原理和使用,git
正常情况下,你俩就可以在⾃⼰的分⽀上进⾏专业的开发了!

突发情况

但天有不测风云,你的小伙伴突然生病了,但需求还没开发完,需要你帮他继续开发,于是他便把 feature-2 分支名告诉你了.这是你就需要在自己的机器上切换到 feature-2分支帮忙继续开发,要做的操作如下 :

先拉去远端仓库的内容

gitee 协同开发,Git的原理和使用,git
可以看到远程已经有了 feature-2
gitee 协同开发,Git的原理和使用,git

切换到 feature-2分支上,可以和远程的 feature-2 分支关联起来,否则将来只用git push推送内容会失败

gitee 协同开发,Git的原理和使用,git
切换成功后,便可以看见 feature-2 分支中的func2文件了,接着就可以帮小伙伴进行开发 :
gitee 协同开发,Git的原理和使用,git
推送内容

gitee 协同开发,Git的原理和使用,git
查看远程状态,推送成功了 :
gitee 协同开发,Git的原理和使用,git
这时,你的小伙伴已经修养的差不多,可以继续进行自己的开发工作,那么首先他要获取到你帮他开发的内容,然后接着你的代码继续开发.或者你已经帮他开发完了,那他也需要在自己的电脑上看看你帮他写的代码 :

gitee 协同开发,Git的原理和使用,git
pull无效的原因是小伙伴没有指定本地 feature-2分支 与远程origin/feature-2分支的链接,根据提示,设置 feature和origin/feature-2的链接即可 :

gitee 协同开发,Git的原理和使用,git
目前,小伙伴的本地代码和远端保持严格一致.你和你的小伙伴可以继续在不同的分支下进行协同开发了.

各自功能开发完毕后,不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕.

内容合并至master分支

由于你的小伙伴率先开发完毕,于是开始merge

gitee 协同开发,Git的原理和使用,git

gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
gitee 协同开发,Git的原理和使用,git
至此,就合并完成了!

当你的小伙伴将其代码mergemaster后,这时你也开发完成了,也需要进行mergemaster操作,于是你 :(在本地实现合并)
gitee 协同开发,Git的原理和使用,git
切换至master分支,pull一下,保证本地的master是最新内容,这是一个好习惯!

# 切换至 feature-1分支合并master分支,这么做是因为如果用冲突,可以在 feature-1 分支上进行处理,而不是在master分支上解决冲突.
[huluwa@centos7 ~/remote-gitcode]$ git checkout feature-1 
Switched to branch 'feature-1'
[huluwa@centos7 ~/remote-gitcode]$ git merge master 
Merge made by the 'recursive' strategy.
 func2 | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 func2
[huluwa@centos7 ~/remote-gitcode]$ ls
a.so  b.ini  file.txt  func1  func2  README.en.md  README.md

由于 feature-1 分支已经merge进来了新内容,为了保证远程分支最新,最好push一下.
要push的另一个原因是因为在实际开发中,master的merge操作一般不是由我们自己在本地完成.
如果merge出现冲突,不要忘记需要commit才可以push.

gitee 协同开发,Git的原理和使用,git
切换至 master分支,合并 feature-1分支

gitee 协同开发,Git的原理和使用,git
将 master分支推送至远端

gitee 协同开发,Git的原理和使用,git
此时远程仓库的状态 :

gitee 协同开发,Git的原理和使用,git
此时,feature-1feature-2分支对于我们来说就没用了,那么我们可以直接在远程仓库中将分支删掉 :

gitee 协同开发,Git的原理和使用,git
这就是多⼈协作的⼯作模式,⼀旦熟悉了,就⾮常简单.
gitee 协同开发,Git的原理和使用,git

三、解决git branch -a打印已被删除的远程分支的方法

当前我们已经删除了远程的几个分支,使用git branch -a命令可以查看所有本地分支和远程分支,但发现很多在远程仓库已经删除的分支在本地依然可以看到.例如 :

gitee 协同开发,Git的原理和使用,git
使用命令git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对于关系等信息.

gitee 协同开发,Git的原理和使用,git
此时我们可以看到远程仓库已经不存在的分支,根据提示,使用git remote prune origin命令 :
gitee 协同开发,Git的原理和使用,git
这样就删除了那些远程仓库不存在的分⽀。对于本地仓库的删除,之前的课程已经学过了,⼤家可以⾃⾏从操作。


总结

(本章完!!!)文章来源地址https://www.toymoban.com/news/detail-702522.html

到了这里,关于Git--多人协作开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 多人协作开发

    任务名称: 任务描述: 任务优先级:1(1最优先) 周期:10ms和1ms README.md为markdown语言编写的文件,可使用 typora 软件进行读写。 版本 时间 更新说明 修订者 V0.1 2023/10/27 base版本 在主库已经存在的情况下,日常操作流程如下: Git 全局设置

    2024年04月10日
    浏览(46)
  • 如何部署 Git 实现多人协同开发

    🎉欢迎来到Java学习路线专栏~如何部署 Git 实现多人协同开发 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java学习路线 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果

    2024年02月04日
    浏览(44)
  • 用Git远程仓库实现多人协同开发

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 分支 初识分支 分支-合并与删除 分支-合并与提交 分支-合并冲突 Git 常用命令 Git 远程仓库  Git 远程仓库-克隆  多人协同开发  Git 常用命令  ​编辑 概念 :本质上是指

    2024年02月15日
    浏览(41)
  • 微信小程序多人协同开发(Git)

    Git的安装我就省略了,大家可以自行去看相关的文章。 首页点击\\\'版本管理\\\' 首次点击会跳出该弹窗,点击\\\'初始化Git仓库\\\' 两个选项都勾选,如果还没建立远程仓库可点击下方链接 微信开发者-代码管理 设置个人密码和账户名,创建项目 点击\\\'设置\\\'-\\\'远程\\\' 添加远程仓库,名称可

    2024年02月03日
    浏览(42)
  • Git企业开发控制理论和实操-从入门到深入(六)|多人协作开发

    那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏《Git企业开发控制理论和实操》希望大家多多关注!

    2024年02月11日
    浏览(50)
  • 【Git】多人协作-单分支协作

    在windosw环境下,再克隆同一个项目仓库,模拟一起协作开发的小伙伴 到此,相当于有了两个⽤⼾,分别在linux和windows上针对于同项⽬进⾏协作开发,我们的准备⼯作到此结束。 但是在实际开发当中,每个⽤⼾都有⾃⼰的gitee/github账号,如果要多⼈进⾏协同开发,必须要将⽤

    2024年02月14日
    浏览(53)
  • 【12】Git工具 协同工作平台使用教程 Gitee使用指南 腾讯工蜂使用指南【Gitee】【腾讯工蜂】【Git】

    tips:少量的git安装和使用教程,更多讲快速使用上手Gitee和工蜂平台      Git - Downloads (git-scm.com) 找到对应操作系统,对应版本,对应的位数   下载后根据需求自己安装,然后用git --version验证是否成功   使用 SSH 密钥可以让你在与 Git 服务器进行通信时,实现更安全的身份

    2024年02月13日
    浏览(47)
  • Git的远程操作与多人协作

    \\\"爱在地图上剥落,我离孤单几公里~\\\"          我们目前所说、所学的内容(工作区、暂存区、版本库)都只是存在于本地上,也就是说你的一台机器上只有这么一个你维护的版本库。可是Git是一个分布式版本控制系统,这又是什么意思呢?         ——前言          可以

    2024年02月15日
    浏览(54)
  • 【掌握版本控制:Git 入门与实践指南】多人协作

                                                      🎬慕斯主页 : 修仙—别有洞天                                               ♈️ 今日夜电波: 泥中に咲く—ウォルピスカーター                                                      

    2024年03月16日
    浏览(51)
  • git通过fork-merge request实现多人协同

    对于一个项目,如果需要多人协同开发,大家都在原始仓库中进行修改提交,经常会发生冲突,而且一不小心会把别人的代码内容覆盖掉。为了避免这样的问题,git提供了fork-merge request这样的协同方式。 首先git仓库分为远端仓库和本地仓库分别对应上图的remote和local。 sourc

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包