Github進行fork後如何與原倉庫同步

2022-02-09 17:20:10 字數 2267 閱讀 1345

實在是……有太多人同時在幫忙修訂錯別字或優化 xiaolai 的the-craft-of-selfteaching了。如果你提交的 pull request 未被接受且得到回覆說:「重新fork」,其實是你遇到乙個問題:

這個問題,用顯得更「專業點」的說法,叫做:github進行fork後如何與原倉庫同步。那到底怎麼做呢?

最省事的辦法可能是:

和很多人一起向 xiaolai 提交 pull request,這實在是乙個反覆練習merge(中文說法:合併,或版本合併)的機會。毫不誇張地講,版本管理是軟體工程極其重要的規範,也是極其基礎的必備技能。而merge則是版本管理中最必須也最常用的場景。

那要不然,就多練練?以下是傻瓜版操作步驟,還細心配了截圖,保管你從 0 也能上手。至於原理嘛,慢慢再搞懂吧。

step 1、進入到本地倉庫的目錄。

下面所有操作,如無特別說明,都是在你的本地倉庫的目錄下操作。比如我的本地倉庫為/from-liujuanjuan-the-craft-of-selfteaching

step 2、執行命令git remote -v檢視你的遠端倉庫的路徑:

如果只有上面2行,說明你未設定upstream(中文叫:上游**庫)。一般情況下,設定好一次upstream後就無需重複設定。

step 3、執行命令git remote add upstream把 xiaolai 的倉庫設定為你的upstream。這個命令執行後,沒有任何返回資訊;所以再次執行命令git remote -v檢查是否成功。

step 4、執行命令git status檢查本地是否有未提交的修改。如果有,則把你本地的有效修改,先從本地倉庫推送到你的github倉庫。最後再執行一次git status檢查本地已無未提交的修改。

git add -a或者git add filename

git commit -m "your note"

git push origin master

git status

注1:這一步作為新手,建議嚴格執行,是為了避免大量無效修改或文字衝突帶來的更複雜局面。

以下操作緊接著上面的步驟。

step 5、執行命令git fetch upstream抓取 xiaolai 原倉庫的更新:

step 6、執行命令git checkout master切換到 master 分支:

step 7、執行命令git merge upstream/master合併遠端的master分支:

step 8、執行命令git push把本地倉庫向github倉庫(你fork到自己名下的倉庫)推送修改

如果擔心自己不小心改了**,可以再次執行命令git status檢查哪些檔案有變化。這個操作僅是檢查,不會改變任何狀態,放心用。

現在你已經解決了fork的倉庫和原倉庫版本不一致的問題。可以放心向 xiaolai 發起 pull request 了。如果以上操作你花了不少時間,而 xiaolai 的倉庫 又恰好更新了。很好,一次新的練習機會來了……

補記:這份筆記最初整理於2023年3月。或許因為我平時git操作僅是簡單的修改新增,與其它倉庫協作少,於是這種上游倉庫的設定與同步相關指令需要用時,還是得搜到這篇筆記來看。那就發出來,或許也能幫到其他人吧~

Github進行fork後如何與原倉庫同步

我們在進行github協同開發的時候,往往會去fork乙個倉庫到自己的github中,過一段時間以後,原倉庫可能會有各種提交以及修改,很可惜,github本身並沒有自動進行同步的機制,這個需要我們手動去執行,現在我來演示一下如何進行自己的倉庫和原倉庫進行gith同步的操作。1 我使用終端 命令列的方...

Github進行fork後如何與原倉庫同步

github進行fork後如何與原倉庫同步 方法一 在你fork的倉庫setting頁翻到最下方,然後delete這個倉庫 然後重新fork 倉庫,並 git clone 到你的本地。方法二 在本地的fork倉庫中開啟git base 依次執行命令 git pull 要習慣性更新 git remot...

Github進行fork後如何與原倉庫同步

實在是 有太多人同時在幫忙修訂錯別字或優化 xiaolai 的the craft of selfteaching了。如果你提交的 pull request 未被接受且得到回覆說 重新fork 其實是你遇到乙個問題 在你 fork 之後,xiaolai 的倉庫又更新了 但 github 不會自動幫你把...