git 共享仓库-多人协作开发

##模拟两人同时开发

###1.创建一个文件夹user1 在里面放入一个项目

image.png

###2.在项目当中初始化仓库,添加一些版本信息。 在user1中做操作 增删改查随你,不过最后要记的使用commit提交到本地

git 共享仓库-多人协作开发_第1张图片

git 共享仓库-多人协作开发_第2张图片

git 共享仓库-多人协作开发_第3张图片

###3.创建一个share文件夹。把share文件夹做成共享仓库
-Git clone --bare 用户1仓库地址
在share文件夹中做操作

###共享仓库有一个特点:
1.看不到工作区。它负责共享,不能在里面修改任何。
并不是工作区不存在,它是把工作区隐藏起来。
2.以.git结尾

什么是裸仓库?
看不到工作区的仓库,称为裸仓库。

如何创建一个裸仓库?
Git clone --bare 仓库地址

image.png
share文件夹中会增加一个以.git命名的文件夹

如果已经存在共享仓库.其它用户直接从共享仓库上面clone代码即可.从共享仓库当中clone得代码是有工作目录的
###4.创建一个user2,从共享仓库当中clone代码
Git clone 共享仓库的地址。
在user2中做操作

image.png

git 共享仓库-多人协作开发_第4张图片

##多人协作开发

  • 1.当写完代码以后.先提交到本地
    ** -git add * **
    ** -git commit -m’message’**
  • 2.提交到本地之后,再去把代码提交到共享仓库中
    ** -git push 共享仓库地址 分支名称**
  • 3.其他用户,要去更新最新的代码
    ** -git pull 共享仓库的地址 分支名称**

###5. 在user1当中添加内容并且提交到了本地仓库
git 共享仓库-多人协作开发_第5张图片
###6.提交到本地之后,再去把代码提交到共享仓库中
git push 共享仓库地址 分支名称

git 共享仓库-多人协作开发_第6张图片

###7.user2,要去更新最新的代码,从共享仓库中获取代码

 git pull 共享仓库的地址  分支名称

此时user2拿到的就是最新的文件 并且可以看到user1添加的代码

cat 文件名称

git 共享仓库-多人协作开发_第7张图片
并且能够看到uset1提交的日志

 git log

冲突

###1.什么情况下会产生冲突?
两个人同时修改了同一个文件的同一部分代码。
并且,两人都在本地做了提交。
如果一个用户,早一此提前到共享仓库当中。那么他没有任何问题
另外一个用户,提交代码代码时,要求先去更新pull一下代码
在pull过程当中会产生冲突。会报错,自己的代码提交不上
这个时候就需要先去解决冲突,解决冲突完毕后,提交到本地,再去提交到远程仓库,

user1修改1了文件并且上传到了共享仓库中

git 共享仓库-多人协作开发_第8张图片

user2 修改文件内容

git 共享仓库-多人协作开发_第9张图片

2.如何解决冲突?

哪个文件冲突,会有提示。手动找到冲突的文件。
手动打开该文件
打开时,会看到如下代码:

user1添加了代码
<<<<<<< HEAD
user2添加abc
user2添加abc
user1又添加了一行代码
user2也添加了一行代码
=======
user1删除了代码
>>>>>>> 0f68f3c80b9544765127f641a8f064f9b37f8c52

<<<<>>>>>>>>>>>>>0f68f3c80b954

--------------------------------解决冲突----------------------------------------------------------------
手动把<<<<< ==== HEAD 删除掉。保留自己想要的代码
之后,需要再提交到本地
然后,再去push到共享仓库当中。

你可能感兴趣的:(git)