如何保持github上fork的專案與原專案同步
阿新 • • 發佈:2019-02-06
前言
Github可謂是開發者的樂園,眾多的優秀開源專案,有時候我們想關注某個專案,常用的是star,偶爾會fork一下,到個人專案庫中,研習程式碼,更希望有機會可以貢獻程式碼。作為技術小白,現在會遇到已經fork
的程式碼,原專案可能更新了,而個人賬戶下的專案並不能同步更新。如此肯定不利於我們的學習。
同步專案
在網上搜索如何同步fork專案和原專案,很多熱心的網友的各種解決方案。
刪除原有專案,在重新fork。(無疑這是暴力有效的,但絕不是我們想要的方式)
在電腦本地同時
git clone
原專案和fork專案,用git pull
更新,然後對比,再git push
到github上個人程式碼庫。(雖有繁瑣,卻也是辦法)本地
git clone
已fork的專案,然後新增遠端庫為原專案地址。(當然這裡肯定要有專案訪問許可權的哦)最後也是本人覺得不錯的方式,就是用windows下的 github for desktop客戶端最為便捷。
以上四種方式,前兩種基本不用多介紹,主要簡介後面來兩種的操作。
使用遠端程式碼庫方式: 轉載自雲棲社群
首先先通過 github 的 web 頁面 fork 目標的專案
前提是自己已經設定好了git,並且配置了相應的許可權
然後使用git clone命令在本地克隆自己 fork 的專案:
git clone https://github.com/YOUR-USERNAME/project—name
然後需要複製被自己fork 的專案的git地址
切換到自己之前克隆的專案的路徑下,使用:
git remote -v
就可以看到當前專案的遠端倉庫配置
然後使用下面的命令:
git remote add upstream 原始專案倉庫的git地址
然後如果你繼續使git remove -v命令檢視的話,就會發現這個時候已經和原始的被fork的專案產生了關聯。
如果想保持專案同步的話,一般使用下面的命令就好了:
git fetch upstream
git merge upstream/master
使用windows 的github客戶端
1、首先是PC安裝了github客戶端,並已經關聯了github賬號(類似廢話)。
2、在web上開啟已經fork的專案,選在clone or download
對話方塊,open in Desktop
就會呼叫github的客戶端並clone到本地。當然你可以用客戶端內直接用git專案地址clone。
3、在一段時間後,原專案已經更新,而fork的專案未有更新,此時,在github客戶端上,選擇如圖示的原專案主線—Sync同步,點選update from xxx,再點選選擇個人fork的主線—Sync同步。如此可以完成與原有專案的同步。
注意:此時並未出現與原專案程式碼衝突的情況,暫時先這麼記下筆記,以後在做詳細分析處理。