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

模拟两人同时开发

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

image.png

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

image.png

image.png

image.png

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

image.png

多人协作开发

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

5. 在user1当中添加内容并且提交到了本地仓库

image.png

6.提交到本地之后,再去把代码提交到共享仓库中

  git push 共享仓库地址  分支名称

image.png

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

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

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

cat 文件名称

image.png
并且能够看到uset1提交的日志

 git log

冲突

1.什么情况下会产生冲突?

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

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

image.png

user2 修改文件内容

image.png

2.如何解决冲突?

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

user1添加了代码
<<<<<<< HEAD
user2添加abc
user2添加abc
user1又添加了一行代码
user2也添加了一行代码
=======
user1删除了代码
>>>>>>> 0f68f3c80b9544765127f641a8f064f9b37f8c52
<<<<<HEAD
是自己写的代码
======
别人写的代码
>>>>>>>>>>>>>>0f68f3c80b954

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

猜你喜欢

转载自blog.csdn.net/zm_miner/article/details/78330416