- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Git---多人协作开发
典型的做法是,首先创建一个git服务器,被多个人所操作。
?
1.多人帮忙实现
分为如下几个步骤:
1.创建一个git裸服务器 (git init --bare)
2.从裸服务器将版本库克隆至本地(git clone?)
3.本地常规操作
4.推送版本至服务器?(git remote + ?git push origin master)
5.从近程服务器拉取版本(git pull)
一般而言,我们需要在Linux服务器上来搭建我们的git版本服务器,每个公司都会有。
由项目担任人开头。
我们现在是windows系统上模仿这个操作过程。
(1).创建一个git裸服务器 (git init --bare)
由担任人来完成的。服务器新建一个项目名目,如git-server
?
创建完毕,我们发觉git-server内容和上次的不太一样。
上次使用git init?创建之后,会有一个隐蔽的.git名目。名目中的才是现在看到的内容。
也就是说,现在根本就没有.git名目了。
这就意味着在这个名目中,不能做常规的开发。
(2).从裸服务器将版本库克隆至本地(git clone?)
在git版本服务器,一般是不做任何开发工作的。假如要开发项目,就需要将版本库从服务器克隆到本地。
假设有一个程序员甲,开头本人的工作了。
使用命令?git clone git版本服务器地址
在windows下面,就是使用确定路径,如下:
?
然后,甲就可以在这个名目下,进行常规开发。
我们可以在这个名目下,创建本人的工作区名目,完成常规开发。
(3).本地常规操作
甲可以,在本地进行常规开发。
这个过程,可以反复进行。
我的第一个模块(功能)开发完毕。需要将其推送到服务器。
(4).推送版本至服务器?(git remote + ?git push origin master)
当在本地完成一个模块(功能),需要推送到服务器,供其他同事使用。
第一件事情,需要晓得服务器在哪儿?
git remote
其次件事情,直接推送即可
git push origin master
其中origin就是使用git remote得到的近程服务器的名称。
master表示是主分支。
?
对于甲来说,它的工作已经告一段落了,该轮到乙程序员出场了。
乙程序员,首先将版本库从git服务器上克隆到本地。
?
打开这个名目,然后进可以看到最新新的内容,如下:
对于乙而言,可以在本地进行常规开发。与此同时,甲连续他的常规开发。
模仿乙程序员在本地的开发。
将完成的工作,推送到git服务器。
回头,再看看甲的开发。
甲收工,预备下班了。在下班之前,需要将最新版本推送到git服务器。
开头使用命令,执行如下:
结果出错了,why?
之所以会出错,缘由在于:其他程序员已经将最新的一个版本提交到git服务器上,但是你在提交之前,已经不是最新的。
在这种情况下,甲,需要先从服务器拉取最新的版本。
(5).从近程服务器拉取版本(git pull)
在多人帮忙开发时,每个开发人员在推送本人的最新版本时,都需要确保当前版本是最新的,所以就需要先猎取最新版本,也就是说需要从服务器拉取最新版本到本地。
需要使用?git pull命令
?
如此一来,甲当前就是最新的版本。
然后再次使用?git push?命令推送至服务器。
?
接下来需要分两种情况:
假如有新的开发人员加入进来,反复2~5过程。
假如不是新的开发人员,反复3~5过程。
比如,对于乙而言,其实它现在已经不是最新的版本了,所以需要使用?git pull?拉取最新版本。
?
所以,对很多开发人员而言,一打开电脑,马上先git pull,拉取最新的。然后进行常规开发,
开发完毕之后,在git push之前,还需要使用git pull再拉取一遍。
假如还有一个新的程序员丙,加入了,怎样办呢?
需要先git clone
然后就进行常规开发,推送版本、拉取版本。
在整个协作开发时,有时候会消灭冲突。通常都是由于开发人员分工不明确导致的,所以假如消灭这种情况,需要两个程序员协商处理。
3.分支
(1).什么是分支
在前面全部的操作当中,我们一直使用的是master主分支。以刚才的项目版本把握为例
有四个版本,在我们的版本库中,都是存在于master主分支上的。
图示如下:
假如我们的项目本身比较简约,只需要有主分支master就够了。
但是,实际上并不是这样的。
在这个世界上,有一种软件叫做开源软件?--?源代码开发,全部的人都可以无偿使用。
开源软件是由世界上很多的程序员共同来开发。
每个程序员都可以创建一个本人的分支,这个本人分支和主master完全独立的两个分支。
相应的,每个程序员都可以拥有本人的分支,可以进行任何的开发,此时和
文档评论(0)