Git入门——团队协同开发

Git入门——团队协同开发,第1张

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。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/905822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存