1. 程式人生 > >idea中github多人協同工作截圖篇(篇幅較長,多圖預警)

idea中github多人協同工作截圖篇(篇幅較長,多圖預警)

1.目標:


- 組長

  1. 完成idea上GitHub賬號的登陸
  2. 在idea上新建遠端倉庫
  3. 在GitHub上建立組織
  4. 在遠端倉庫關聯組織,新增team
  5. 給team分發許可權

- 組員

  1. 讓team中其他成員可以clone倉庫程式碼
  2. clone在分支上開發
  3. 分支的合併
  4. clone後可以上傳到遠端倉庫

2.操作


1. 完成idea上GitHub賬號的登陸


2. 在idea上新建遠端倉庫

  • 想要遠端倉庫必須本地有專案,所以下面新建一個已經搭建好的springboot框架的maven專案。
  • 演示idea的快速搭建springboot專案。

在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述

上傳到遠端倉庫

  • VCS–>Import into Version Control–>Share Project on GitHub
  • 這一步操作相當於初始化本地倉庫,填寫倉庫名稱
    在這裡插入圖片描述
  • Share

在這裡插入圖片描述

  • 上傳成功
    在這裡插入圖片描述
  • 點選可以直接開啟遠端倉庫

3. 在GitHub上建立組織

在這裡插入圖片描述在這裡插入圖片描述

  • 其他預設
    在這裡插入圖片描述
  • 拉人(可省略)

在這裡插入圖片描述

  • 義務填寫組織作用(可省略)
    在這裡插入圖片描述在這裡插入圖片描述
  • 給這個組織新增小組
    在這裡插入圖片描述
  • 加組
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 給組裡拉人
    搜尋小組成員
    填寫驗證的密碼在這裡插入圖片描述
  • 對方的郵箱的郵件就會有以下資訊
    在這裡插入圖片描述
  • 點選Join
    在這裡插入圖片描述
  • 對方就會加入小組
    在這裡插入圖片描述

4. 在遠端倉庫關聯組織,新增team

  • 進入個人首頁
    在這裡插入圖片描述
    在這裡插入圖片描述
    • 由於這裡是個人的倉庫,所以組織裡的小組並無法上傳程式碼,但是克隆程式碼還是可以的,所以現在我們就把這個倉庫新增一個組織,給組織新增一個小組。
    • 點入倉庫
      在這裡插入圖片描述
  • 點入setting
  • 拉到setting的最下面
    在這裡插入圖片描述
  • 點選transfer
    在這裡插入圖片描述
  • 把你的小組加進去
    在這裡插入圖片描述
  • 跳到主頁面,此時發現該倉庫已經屬於該組織
    在這裡插入圖片描述
  • 點選倉庫,進入setting

在這裡插入圖片描述

  • 授權
    在這裡插入圖片描述
  • 授權完畢,現在只要是該組的成員就可以任意拉取上傳專案了。

6. 讓team中其他成員可以clone倉庫程式碼

  • 檢視切換到idea
    在這裡插入圖片描述或者
    在這裡插入圖片描述
  • 沒有GitHub,點選git也行
    在這裡插入圖片描述
  • 複製這個倉庫地址
    在這裡插入圖片描述
  • 點選clone
  • 本第倉庫已經建立
    在這裡插入圖片描述
  • 我習慣性給這個叫設定maven結構的各檔案格式
    在這裡插入圖片描述
  • 設定jdk
    在這裡插入圖片描述
  • 設定格式
    在這裡插入圖片描述
  • ok了,此時已經完全克隆下來了

7. clone在分支上開發

  • 此時克隆下來的是主分支裡面的檔案,但是不能在主分支裡面開發,這樣會影響到遠端倉庫的程式碼質量。而且很容易發生衝突。所以要在新分支裡面開發。
  • 新建分支
  • idea的介面的右下角
    在這裡插入圖片描述
    點選–》NEW Branch
    在這裡插入圖片描述
  • 這時點選右下角
    在這裡插入圖片描述
    就有分支切換,可以master和dev分支自由切換。像一隻開心的馬六甲。
  • 一頓亂操作之後不能直接切換到主分支進行提交,需要在dev分支上,add+commit操作;然後在切換到master分支進行合併。
  • commit之後。
    在這裡插入圖片描述

分支概念的理解

  • 分支的建立就可以將本地倉庫的程式碼完全複製一份,這時在分支上開發,然後合併到master分支。這個時候就有問題了,如果分支上開發,合併到主分支和直接在主分支開發有什麼區別?

  • 這個問題問的好!

  • 以本人拙見:
    遠端倉庫的版本叫:馬六甲1
    A從遠端倉庫克隆下來,A的本地倉庫的版本:馬六甲1
    B從遠端倉庫克隆下來,B的本地倉庫的版本:馬六甲1
    A在他的本地一通寫程式碼,然後add,commit,push成功!
    然後這時遠端倉庫的版本叫:馬六甲2
    A的本地倉庫的版本:馬六甲2
    B的本地倉庫版本還是:馬六甲1,主分支:master
    B這時新建分支,dev,在dev上一頓亂操作,add,commit
    B切換到master,然後一個pull,拉取遠端倉庫:馬六甲2
    這時Bmaster的分支為:馬六甲2
    然後這個時候,B在合併自己的master分支和dev分支。
    有衝突在自己本地就能解決,解決好了在上傳到,遠端倉庫。

  • 而在本地直接在master分支開發的話,沒有合併分支的概念。衝突問題我覺的是一大難題,而且分支可以在任何時候都可以建立,可以隨時退回到任何一個版本,很容易回到你想儲存的程式碼版本。

  • 所以在組員開發專案的同時,需要遵循一下操作。那麼可以避免很多麻煩。(本人實踐獲得,不喜勿噴)

  • 組員:
    1.先從遠端倉庫pull下來—master分支;
    2.在本地新建分支—dev分支;
    3.在dev分支做開發(開發完成後)—add&commit到緩衝區
    4.開發完切換到master分支—從遠端倉庫pull下來
    5.然後在master分支—合併dev分支
    5.1 master分支add&commit
    6.(合併分支時)有衝突解決衝突
    7.(合併分支時)沒用衝突,master分支push

8. 分支的合併

  • 分支的合併是master分支向dev分支合併(這裡舉例),就是將dev的分支合併到master;
    在這裡插入圖片描述
  • 首先切換到master分支(dev分支必須add+commit,而且有改變);
  • 合併操作
    在這裡插入圖片描述
  • 合併
    在這裡插入圖片描述
  • 和併成功
    在這裡插入圖片描述
  • 然後直接push,已經add+commit過了
    在這裡插入圖片描述
  • 等待
    在這裡插入圖片描述
  • 成功
    在這裡插入圖片描述
    如有問題:多多指正!感謝!