今天要學習的是:同步 Fork
當你 Fork 一個專案後,時間一久,
原始專案(Original Repo)可能會持續更新(可能有更多協作者),
而你的 Fork 版本就會「落後」。
如果不去同步,
當你再次送 PR 時,就可能出現 大量衝突(conflict) 或修改不相容的問題。
因此,我們需要在本地設定一個 upstream remote 來追蹤原始專案,並定期同步。
今天的實作就是要來設定它!那我們馬上開始~
步驟1: 查看remote狀態
git remote -v
如果像圖片一樣,這代表目前只連結到你自己的 Fork,還沒有連到原始專案。
步驟2: 新增upstream
upstream指的就是原始專案的repo!!!
git remote add upstream https://github.com/原始作者/original-project.git
git remote -v
步驟3: 抓取原始專案的最新更新
接下來,
我們要把原始專案的最新更新抓下來,
但注意!!這時候還沒有合併。
git fetch upstream
步驟4:合併到你的分支
我們切換回主支,進行合併。
git checkout main
git merge upstream/main
確認後,你可能會出現下圖的情況。
這是 Git 自動進入了互動式編輯器(通常是 vim 或 nano),
讓你可以在這裡輸入這次合併(merge)的 commit 訊息。
那我們這邊先直接退出並使用預設訊息就好。
要退出的話,
鍵盤按 :wq → Enter
w = write (寫入)
q = quit (離開)
就會退出並使用預設的 merge commit 訊息。
如果像圖上一樣沒有發生衝突,
就代表我們的 Fork 已經和原始專案同步了!
步驟5: 推送到你的 Fork
最後,把同步後的版本推到 GitHub 上,就完成囉~
git push origin main
以上就是關於PR的基礎學習,
明天會學習更多協作內容~敬請期待!