更新分叉倉庫
Isaac Newton Aranas
2023年1月30日
Forking
意味著你將它複製到你自己的,但被標記為從原始倉庫分叉。你可以在你的版本中新增、編輯和刪除檔案。
你的分叉倉庫可以輕鬆地從上游獲取。
在 Git 中更新分叉倉庫
克隆你的分叉倉庫,轉到你的專案資料夾,然後在你的 bash 上執行以下命令。
git remote add upstream https://github.com/authorname/original-repository-name.git
這段程式碼是新增一個名為 upstream
的遠端。remote
就像倉庫連結的暱稱。
當你執行 git fetch origin master
時,它就像遠端 origin
。你現在可以做一個 git fetch upstream master
。
git remote -v
origin https://github.com/you/original-repository-name.git (fetch)
origin https://github.com/you/original-repository-name.git (push)
upstream https://github.com/authorname/original-repository-name.git (fetch)
upstream https://github.com/authorname/original-repository-name.git (push)
現在,我們將獲取所有上游分支。
git fetch upstream
選擇你要在其中更新對分叉倉庫的更改的分支。例如,master
。
git checkout master
從上游合併分支。在這種情況下,你的提交歷史不會受到影響。
git merge upstream/master
如果你想從上游完全清理,請執行以下程式碼。這將重寫你的提交,並可能影響那些克隆你的倉庫的人。
git rebase upstream/master
提示
你可以建立一個單獨的分支來進行變基。這將防止你的工作中的類似分支的 master 發生不必要的合併和歷史重寫。
最後一步,推送你的分支。
如果你確實合併,請執行以下程式碼。
git push origin master
如果你做了 rebase,執行下面的程式碼。
git push -f origin master
請注意,強制 -f
標誌僅在你重新定位後的第一次推送時才需要。
在 Git 中重新考慮更新分叉倉庫的事實
重新考慮那些克隆了你的倉庫的人對上游
以及你的時間、工作和努力。
當你不確定要提取或更新的內容時,請始終建立一個分支。
你有備份倉庫嗎?你做分支嗎?刪除臨時分支比重新處理你已經做過的東西更容易。
因此,在將其應用到你的實際倉庫之前,請先練習本教程以熟悉這些步驟並習慣什麼有效,什麼無效。