這是簡易版的協作過程,且只包含上線前的流程。
main
, dev
. 指令為 git clone <repo>
dev
,main
在正式上線前不動。)當目前的 Issue 完成時,即可從自己的分支,發 PR 到主幹dev
上。這時有幾種情況:
當遠端主要分支dev
接受了其他人的 PR 時,這時候其歷史和檔案內容就可能與本地當初下載的dev
不一樣。這時候要先 fetch
下最先的版本,本地分支 merge
或是 rebase
最新版本。至於選哪個要看個人選擇,因為 merge
會長出新的節點並保留平行線,rebase
則會接到新的版本上,保持一條線的整潔,但會喪失正確的歷史紀錄。
不論是 merge
或是 rebase
時,只要遇到衝突時,merge
、rebase
就會停下來,這時候就手動去解不一致的檔案內容。
決定好後,我們就可以繼續。這時候會下 git add .....
,然後 git commit -m 'message'
或是 git rebase --continue
。
但假釋不幸少打指令參數, merge
或是 rebase
都有可能遇到要求增加 commit
文字的問題。這時候可能會自動跳入 vim 要求我們寫下我們的 commit
敘述。如何操作可以參考最下面的 Vim 操作
。
好了後,merge
應該就結束了,而 rebase
則要看情況,有的時候要繼續跑 git rebase --continue
直到完成。
我們的目標很簡單,就是寫入commit
描述而已。所以在 vim 介面中我們要做以下步驟:
i
=> 進入 編輯模式#
開頭的一行打下 commit
描述Esc
=> 跳出 編輯模式:wq
並按 Enter
結束 Vim。