1. 程式人生 > >Git詳解 三( 多人協同開發 ,程式碼衝突)

Git詳解 三( 多人協同開發 ,程式碼衝突)

多人協同開發

1.程式碼編輯介面介紹:此處使用gedit做演示

  • 程式碼編輯介面左邊為模擬經理的操作
  • 程式碼編輯介面右邊為模擬張三的操作
    在這裡插入圖片描述

2.模擬張三先編輯login.py檔案程式碼

  • 進入張三本地倉庫:cd Desktop/zhangsan/test007
  • 編輯程式碼:num1 = 10
  • 本地倉庫記錄版本:git commit -am ‘第一個變數’
  • 推送到遠端倉庫:git push
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

3.模擬經理後編輯login.py檔案程式碼

  • 進入經理本地倉庫:cd Desktop/manager/test007/
  • 經理同步伺服器程式碼:git pull
  • 編輯程式碼:num2 = 20
  • 本地倉庫記錄版本:git commit -am ‘第二個變數’
  • 推送到遠端倉庫:git push
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

4.模擬張三同步伺服器程式碼

  • 本次可以把num2同步到張三的本地倉庫
    在這裡插入圖片描述
    5.按照以上2-3-4步驟迴圈操作,即可實現基本的協同開發
    6.總結:
  • 要使用git命令操作倉庫,需要進入到倉庫內部
  • 要同步伺服器程式碼就執行:git pull
  • 本地倉庫記錄版本就執行:git commit -am ‘版本描述’
  • 推送程式碼到伺服器就執行:git push
  • 編輯程式碼前要先pull,編輯完再commit,最後推送是push

程式碼衝突

  • 提示:多人協同開發時,避免不了會出現程式碼衝突的情況
  • 原因:多人同時修改了同一個檔案
  • 危害:會影響正常的開發進度
  • 注意:一旦出現程式碼衝突,必須先解決再做後續開發

程式碼衝突演練

1.張三先編輯login.py檔案程式碼

  • 進入張三本地倉庫:cd Desktop/zhangsan/test007
  • 拉取伺服器最新程式碼:git pull
  • 編輯程式碼:num3 = 30
  • 本地倉庫記錄版本:git commit -am ‘第三個變數’
  • 推送到伺服器倉庫:git push
  • 張三本地倉庫和遠端倉庫程式碼如下:
    在這裡插入圖片描述

    在這裡插入圖片描述
    2.經理後編輯login.py檔案程式碼
  • 進入經理本地倉庫:cd Desktop/manager/test007/
  • 編輯程式碼:num3 = 300
  • 本地倉庫記錄版本:git commit -am ‘第三個變數’
  • 推送到伺服器倉庫:git push
  • 以上操作會出現程式碼衝突
    提示需要先pull
    在這裡插入圖片描述
    提示衝突檔案
    在這裡插入圖片描述
    衝突程式碼表現
    在這裡插入圖片描述
    3.解決衝突
  • 原則:誰衝突誰解決,並且一定要協商解決
  • 方案:保留所有程式碼 或者 保留某一人程式碼
  • 解決完衝突程式碼後,依然需要add、commit、push
    在這裡插入圖片描述
    在這裡插入圖片描述
    提示:如果張三執行pull沒有影響,就算真正解決了衝突程式碼
    補充:
    容易衝突的操作方式
  • 多個人同時操作了同一個檔案
  • 一個人一直寫不提交
  • 修改之前不更新最新程式碼
  • 提交之前不更新最新程式碼
  • 擅自修改同事程式碼
    減少衝突的操作方式
  • 養成良好的操作習慣,先pull在修改,修改完立即commit和push
  • 一定要確保自己正在修改的檔案是最新版本的
  • 各自開發各自的模組
  • 如果要修改公共檔案,一定要先確認有沒有人正在修改
  • 下班前一定要提交程式碼,上班第一件事拉取最新程式碼
  • 一定不要擅自修改同事的程式碼