前期協作的github flow示意圖,模擬ˋ兩個開發者的協作狀況,如果有多位以此類推

前期協作的github flow示意圖,模擬ˋ兩個開發者的協作狀況,如果有多位以此類推

30 Git 發 GitHub PR 請求流程 pull request

Untitled

Git多人協作策略

什麼是版本控制 | git 教學

想要看圖形化commit歷程

<aside> ⚠️ 以下前三個步驟一樣,但後續流程有所差異,左邊為github flow流程右邊為簡化的git flow 可以實際操作看看選擇習慣的方式

</aside>

  1. 確認每個組員都可以clone

    1. 使用sourcetree
    2. 使用vsCode
      1. 如有dev分支策略,clone之後再切換branch
    3. 使用指令
      1. 如僅有main請直接clonegit clone <repo URL> <放在本地端的目錄名稱>
      2. 如有dev分支策略,從dev branch開始git clone <repo URL> -b dev <放在本地端的目錄名稱>
  2. 各自創建「開發分支」(feature branch)

    分支名稱建議: feat/footer style/theme 可以將功能敘述給chartGPT叫他建議分支名稱

    1. 使用sourcetree

    2. 使用vsCode

      1. 新增branch並switch過去
    3. 使用指令

      git chekout -b feat/test | git chekout -b ingrid

  3. 負責的功能完成,將檔案add起來並commit

    1. 使用sourcetree

    2. 使用vsCode

      1. 使用source control將changes中異動的檔案點即右邊+按鈕,加入到staged changes
      2. 輸入訊息點擊commit
    3. 使用指令

      git add 檔案

      git commit -m '訊息'

<aside> 🐢 前期盡量練習github flow流程

</aside>

  1. push到遠端分支,將「本地端開發分支」推送到「遠端開發分支」

    1. 使用sourcetree

    2. 使用vsCode

    3. 使用指令git push

      如推不上去通常會建議指令照著打就可以了

  2. 打開 github URL

    1. 會看到提示,請你建立PR

      github UI介面較為直覺,比如團隊內有設計師和PM一起使用時開發討論會順暢很多,另外如果使用github project功能,PR的效益將會加大。 而右側方法沒有使用到PR,因此上述溝通功能無法執行,但在分支理解上較為易懂。 目前不強制使用github專案及PR討論功能

    2. github 將會自動檢查,如果沒有衝突會進行自動合併

      即將「遠端開發分支」合併到「遠端 dev 分支」

    3. 合併完成點擊「刪除遠端開發分支」

  3. 回到本地端

    1. 切換回「dev分支」
      1. 使用vsCode
      2. 使用sourcetree
      3. 使用指令git chekout dev
    2. pull(fetch & merge),即更新遠端dev分支到本地端
      1. 使用vsCode
      2. 使用sourcetree
      3. 使用指令git pull
    3. 刪除本地端開發分支,以免後續混淆
      1. 使用vsCode
      2. 使用sourcetree
      3. 使用指令git branch -d 分支名稱 |或 git branch -D 分支名稱
    4. 繼續開發(步驟2)

    <aside> ⚠️ 總結 本地創建的功能開發分支會推送到遠端,合併完即刪除 每個功能都是一個分支

    githubflow.jpg

    </aside>

<aside> 🐢 開發到一半 有其他人推code到遠端git(T___T),需要確認本地端的程式碼是否與遠端相同

</aside>

  1. 切換回「dev分支」
    1. 使用vsCode
    2. 使用sourcetree
    3. 使用指令git chekout dev
  2. pull(fetch & merge),即更新遠端dev分支到本地端
    1. 使用vsCode
    2. 使用sourcetree
    3. 使用指令git pull
  3. 切換回「開發分支」
    1. 使用vsCode
    2. 使用sourcetree
    3. 使用指令git chekout feat/test
  4. 將「dev分支」合併到「開發分支」
    1. 使用vsCode
    2. 使用sourcetree
    3. 使用指令git merge dev |
  5. 繼續開發(步驟2)