5.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到共享倉庫當中。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容