Git入门——团队协同开发
Git原理入门
团队协同开发
要理解git的使用原理,就要知道团队协同开发的概念。就目前我们掌握的知识来讲,如果想要多人开发同一个项目,那只能通过拷贝的方式
A和B同时开发了一个项目,同时拷贝给C,由C进行整合,这样做从理论上来说可行,但是会存在很多问题,比如A和B有相同的命名的类或者包名不相同,或者A和B遵循的语法规则不统一,那么在整合时工作量就会很大,还可能会出现一些问题
比如A和B同时创建了一个同名的Servlet,在各自的iede上都能运行,但是当他们拷贝给C的时候,明显在C那儿会出现问题,只要开发过程中规范有一点误差,都会造成问题。
那么怎么解决团队协同开发的问题呢?
##解决方案是这样的:
1、由C创建一个项目
2、C将创建的这个项目1上传到一个远程仓库
3、4:A和B去这个远程仓库下载这个项目,于是A和B的本地就同时又两个相同结构的项目
至此,就解决了项目初期的结构不同的问题,然后A和B开始做开发。
开发时:
5:A创建了一个aServlet,并将它上传至远程仓库
6:B同时也创建了一个aServle,也将它上传至远程仓库,但是这时上传不成功,因为远程仓库中已经存在了一个aServle的文件,发生了冲突。
7、于是B就将他的aServle改名,改成bServlet
8、再次上传,于是上传成功了。在远程仓库里的项目就同时包含了aServlet和bServlet
还存在一个问题
当远程仓库中的项目中同时存在一个文件,里面有aaa的内容,当A和B同时下载到本地时,他们本地的这个项目也都会有aaa的内容
这时A往项目1中添加了bbb的内容,而B往项目1中添加了ccc的内容
当A往远程仓库提交上传项目1的之后,远程仓库的项目中就有了A添加的内容
这时如果B将自己的项目上传到远程仓库,那么就会将A提交的内容覆盖,值留下B的内容,在实际的开发中,这种情况显然是不允许发生的。那如何解决这个问题?
解决的方案是通过版本监控来进行版本的管理
就是说,在C将项目1上传到远程仓库后,会给项目1添加一个版本号,那这是如果A和B去下载这个项目,他们下载的项目就是版本1
这时A和B同时在项目1中同一个文件下写入不同的内容
A的手速比较快,写完之后他将自己写的项目提交到远程仓库,只有版本相同才能允许提交。远程仓库的内容就变成了A所提交的内容,因为做了修改,所以远程仓库中的项目由版本1变成了版本2
这时B也想提交自己的项目,但是提交到远程仓库首先会比对版本,因为远程仓库是版本2,而B提交的是版本1,版本不同,这种情况会给出提示,如果B还是要强制提交,那么他提交的内容就会覆盖远程仓库上的内容,这种情况会被打死。实际做法应该是这样的:
B再去下载一次远程仓库的项目,这时B本地的项目中就有A修改过的内容和他自己添加的内容,B本地的项目版本也变成了版本2
这时他再去提交,远程仓库的版本和他的版本一致,就可以提交成功,远程仓库的项目中就会有A和B修改的内容,对应的,版本也会发生改变,生成新的版本
这就是版本管理,当然版本管理并不是靠人工完成,人工进行版本管理工作量会特别大,加上每提交就生成一个新版本,如果项目很大,提交多次,版本很多个,靠人工管理并不现实。
总结:在团队协同开发时,首先会对比提交的版本与远程仓库的版本,如果版本一致则提交不会出现问题,如果版本不同,则不允许提交,这时就需要一个管理版本的工具来进行管理,也就是我们要学习的Git。
Git入门——团队协同开发相关推荐
- git 与团队协同开发,避免冲掉别人代码的方法
在团队开发中,git的使用已经很常见了,博主也是经常使用coding,github等代码托管平台.在多人协同开发中,我们经常会遇到这样的问题:A在本地开发完成后,将代码推送到远程,这时候B的本地代码的 ...
- Intellj IDEA 配置Git/码云插件,团队协同开发
老师今天下午讲了怎么协同开发,特地做了下笔记,可以给需要的人一些帮助,自己日后也可以用到 图片有点多. Intellj IDEA 配置Git/码云插件,团队协同开发 1.1.在码云官网上注册账号 ht ...
- IntellJ IDEA配置Git/码云插件实现团队协同开发
IntellJ IDEA配置Git/码云插件实现团队协同开发 2019-3-21 热水 术语 公钥和私钥是什么,他们分别起到什么作用? 一句话:公钥和私钥是成对的,它们互相解密. 公钥加密,私钥解密 ...
- git(gitlab)子模块功能在团队协同开发和生产环境中的应用(git,gitlab,TortoiseGit,CI/CD,Jenkins,docker-compose,分支合并,开发环境,测试环境)
git(gitlab)子模块功能在团队协同开发和生产环境中的应用 目录 git(gitlab)子模块功能在团队协同开发和生产环境中的应用 一.前言 二.先决条件 三.创建gitlab项目(项目管理员操 ...
- git的团队协作开发
title: git的团队协作开发 date: 2018-04-24 14:00:03 tags: [git] --- 项目负责人创建组织架构 在控制面板中点击组织按钮,添加组织,在这里可以把组织理解 ...
- 多团队协同开发的18条实践
很多项目都面临多团队协同开发的问题,有哪些实践可以帮助多团队高效协同呢?我整理了如下的实践供大家参考: 1 确定共同的目标与愿景 2 技术解耦,按业务功能分工尽量独立. 3 对各系统的概要功能与处理的 ...
- GitHub团队协同开发流程
GitHub团队协同开发流程 1. 在github上创建组织,并邀请成员建立队伍 创建组织的具体教程: http://blog.csdn.net/song_shui_lin/article/deta ...
- Git分支及其协同开发
Git协同开发 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLu ...
- 如何使用Git进行团队协作开发
点击上方蓝色"飞雪无情"关注我,设个星标,第一时间看文章 在团队协作开发中,Git已经越来越流行,如果你不懂Git,那么就很难参与到团队的协作开发中. 除了公司内部的协作开发,如果 ...
最新文章
- uniapp与帝国cms7.5开发实战之动态爆料订阅号app开发实战记录
- [转]DICOM医学图像处理:Deconstructed PACS之Orthanc
- 5 种方法教你用Python玩转histogram直方图
- unity vscode没有智能提示_GAMES101课程环境搭建(Win10+VSCode)
- Visio的VBA初探
- 文本编辑软件哪个好_过年倒计时软件哪个好 过年倒计时软件推荐
- python环境的打包与加载
- 1、eclipse 使用git提交项目至github进行项目托管
- 微软 Windows 10 S 之心不死!
- 关于spring注入
- 雅虎的用户注册页面抽风了
- PLSQL自动输入select * from|附件在cnblogs文件|
- 服务器和客户端的通信绘图
- 怎么在qq空间引流?QQ空间生日栏怎么引流?
- 图片批量转换成pdf
- [漏洞分析] CVE-2022-0995 watch_queue 1bit “溢出“内核提权
- LSB低位隐写(菜鸡理解)
- 办公文书处理属于计算机应用中的,电大计算机应用基础总结基础知识单选题
- 群晖NAS搭建web服务器,并发布公网可访问 3/4
- 淘宝API接口分类!!!