1. 程式人生 > >如何保持github上fork的專案與原專案同步

如何保持github上fork的專案與原專案同步

前言

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。
github
3、在一段時間後,原專案已經更新,而fork的專案未有更新,此時,在github客戶端上,選擇如圖示的原專案主線—Sync同步,點選update from xxx,再點選選擇個人fork的主線—Sync同步。如此可以完成與原有專案的同步。
github desktop
注意:此時並未出現與原專案程式碼衝突的情況,暫時先這麼記下筆記,以後在做詳細分析處理。