1. 程式人生 > >git----fork的專案保持與源專案同步更新

git----fork的專案保持與源專案同步更新

以windows為例

從fork專案開始

登入自己的github賬號,fork一個專案,這裡以 sharding-sphere 為例(順便打一下廣告^_^畢竟參與了專案)
1、登入github,開啟專案主頁sharding-sphere
2、點選頁面的fork
3、fork完成可以在自己的github倉庫中看到fork的專案sharding-sphere

clone專案到本地

1、git客戶端選擇
根據個人喜好,選擇git shell或者純桌面版git desktop。安裝過程略,附下載地址 地址1地址2地址3

如果裝的是純桌面版,可以通過選單開啟git下載安裝嚮導(省的搜尋……)
git


install

2、在本地建立倉庫存放的位置
本案例在d:\GitHub
3、克隆fork的專案到本地倉庫
開啟git shell

C:\Users\yueling>cd D:\GitHub
D:\GitHub>git clone https://github.com/yue530tom/sharding-sphere.git
Cloning into 'sharding-sphere'...
remote: Counting objects: 87775, done.
remote: Total 87775 (delta 0), reused 0 (delta 0), pack-reused 87775
Receiving objects: 100% (87775/87775), 16.87 MiB | 63.00 KiB/s, done. Resolving deltas: 100% (42095/42095), done. ˻

檢視clone專案

D:\GitHub> ls

目錄: D:\GitHub

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----          2018/5/7     11:27
moco d---- 2018/5/11 12:08 sharding-sphere d---- 2018/5/9 18:01 shardingProxyPerf

同步更新到fork

1、新增新的遠端倉庫地址
檢視你fork的遠端倉庫的地址

D:\GitHub> cd .\sharding-sphere
D:\GitHub\sharding-sphere [dev ≡]> git remote -v
origin  https://github.com/yue530tom/sharding-sphere.git (fetch)
origin  https://github.com/yue530tom/sharding-sphere.git (push)
sharding-sphere https://github.com/sharding-sphere/sharding-sphere.git (fetch)
sharding-sphere https://github.com/sharding-sphere/sharding-sphere.git (push)
D:\GitHub\sharding-sphere [dev ≡]> 

這裡已經有專案的源地址了:sharding-sphere,如果沒有,可以通過

git remote add 遠端倉庫別名 https://github.com/sharding-sphere/sharding-sphere.git 

來新增一個(倉庫的別名,可以使用任何合法的名稱,但建議用有標識意義的名稱)
如:可以再新增一個別名為src的遠端倉庫

D:\GitHub\sharding-sphere [dev ≡]> git remote add src https://github.com/sharding-sphere/sharding-sphere.git
D:\GitHub\sharding-sphere [dev ≡]> git remote -v
origin  https://github.com/yue530tom/sharding-sphere.git (fetch)
origin  https://github.com/yue530tom/sharding-sphere.git (push)
sharding-sphere https://github.com/sharding-sphere/sharding-sphere.git (fetch)
sharding-sphere https://github.com/sharding-sphere/sharding-sphere.git (push)
src     https://github.com/sharding-sphere/sharding-sphere.git (fetch)
src     https://github.com/sharding-sphere/sharding-sphere.git (push)
D:\GitHub\sharding-sphere [dev ≡]>                                                                                    

2、同步更新
當原專案有更新的時候,將更新檢入到本地。

開啟git命令列工具並進入專案本地路徑

D:\GitHub\sharding-sphere [dev ≡]>

執行git fetch src命令,檢出src分支以及各自的更新

D:\GitHub\sharding-sphere [dev ≡]> git fetch src
remote: Counting objects: 4962, done.
remote: Compressing objects: 100% (611/611), done.
remote: Total 4962 (delta 2488), reused 3099 (delta 2431), pack-reused 1776
Receiving objects: 100% (4962/4962), 1.04 MiB | 209.00 KiB/s, done.
Resolving deltas: 100% (2845/2845), completed with 388 local objects.
From https://github.com/sharding-sphere/sharding-sphere
 * [new branch]          dev              -> src/dev
 * [new branch]          master           -> src/master
 * [new branch]          sharding-console -> src/sharding-console
D:\GitHub\sharding-sphere [dev ≡]>

切換到你的本地分支

D:\GitHub\sharding-sphere [dev ≡]> git checkout dev
Already on 'dev'
Your branch is up-to-date with 'origin/dev'.
D:\GitHub\sharding-sphere [dev ≡]>

合併src/dev分支和dev分支

D:\GitHub\sharding-sphere [dev ≡]>git merge src/dev
……
 rename {sharding-jdbc-core => sharding-jdbc}/src/test/resources/integrate/dataset/sharding/tbl/expect/update/tbl_9.xml (100%)
 rename {sharding-jdbc-core => sharding-jdbc}/src/test/resources/integrate/dataset/sharding/tbl/init/tbl.xml (100%)
 create mode 100644 sharding-jdbc/src/test/resources/integrate/dbtest/db/data-init.xml
 create mode 100644 sharding-jdbc/src/test/resources/integrate/dbtest/db/schema.xml
 create mode 100644 sharding-jdbc/src/test/resources/integrate/dbtest/db/sharding-rule.yaml
 create mode 100644 sharding-jdbc/src/test/resources/integrate/dbtest/dbtbl/data-init.xml
 create mode 100644 sharding-jdbc/src/test/resources/integrate/dbtest/dbtbl/schema.xml 
 ……    
D:\GitHub\sharding-sphere [dev ↑235]>                                       

將原專案中的更改更新到本地分支,這樣就能使你的本地的fork分支與原專案保持同步

可以用git pull命令代替上面操作。作用:取回遠端主機某個分支的更新,再與本地的指定分支合併
git pull [options] [ […]]

執行git push將本地分支的修改推送到遠端fork的專案

D:\GitHub\sharding-sphere [dev ↑235]> git push
Counting objects: 4963, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1915/1915), done.
Writing objects: 100% (4963/4963), 1.17 MiB | 113.00 KiB/s, done.
Total 4963 (delta 2592), reused 4568 (delta 2455)
remote: Resolving deltas: 100% (2592/2592), completed with 62 local objects.
To https://github.com/yue530tom/sharding-sphere.git
   5ff9b0417..37cde1fee  dev -> dev
D:\GitHub\sharding-sphere [dev ≡]> git checkout dev
Already on 'dev'
Your branch is up-to-date with 'origin/dev'.
D:\GitHub\sharding-sphere [dev ≡]>

登入github確認是否已經更新了
shading

git(非純桌面版)的sync也可以實現專案的同步
選擇需要比較的分支,選擇配置的源倉庫對應的分支,這點很重要比如選擇src(上面已經用到過)
這裡寫圖片描述

相關推薦

git----fork專案保持專案同步更新

以windows為例 從fork專案開始 登入自己的github賬號,fork一個專案,這裡以 sharding-sphere 為例(順便打一下廣告^_^畢竟參與了專案) 1、登入github,開啟專案主頁sharding-sphere 2、點選頁面

Github上fork專案專案同步

先上一個流程圖 首先是fork一個專案到自己的Github上 把自己Github上的程式碼clone到本地 git clone https://github.com/wxxiong6/php

github fork開源專案後如何專案保持同步

很多對開源社群感興趣的同學都會有這問題,github上fork了原始碼後,自己賬號下的原始碼不會隨著社群更新而更新。但是社群程式碼更新特別快,需要隨時保持與官方程式碼同步。下面是我fork spark專案的例子。 1.在自己的github 上fork apache spar

2017峰會:專案管理高階專案管理(深圳站)

1.    高階峰會:專案管理與高階專案管理 專案管理及公司管理中遇到的各類問題: 疲於應對需求變更,客戶過於“強勢”而無法控制; 專案成員的“悶騷”、各種溝通障礙和各種技能不足; 進度壓力大,加班和犧牲軟體質量,反而導致更多專案延期; 專案成本嚴重超支; 加班再加班,問題還是持續滾雪

Github進行fork後如何原倉庫同步(二)

       我們之前在《Github進行fork後如何與原倉庫同步》這篇部落格中詳細講述瞭如何與原倉庫的專案進行同步的問題,看實際的操作流程還是稍顯繁瑣,其實現在有比前一篇部落格中更為優化方便的方法,來讓我們實現該功能。首先前面三個步驟請直接參考《Github進行fork後

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

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

React 伺服器渲染原理解析實踐(同步更新

第1章 伺服器端渲染基礎本章主要講解客戶端與伺服器端渲染的概念,分析客戶端渲染和伺服器端渲染的利弊,帶大家對伺服器端渲染有一個粗淺認識。 1-1 課程導學1-2 什麼是伺服器端渲染1-3 什麼是客戶端渲染1-4 React 客戶端渲染的優勢與弊端 第2章 React中的伺服器端渲染本章將藉助Node.js

git在Linux的web目錄下同步更新倉庫程式碼

通常我們會在本地完成一個專案程式碼的開發。每完成一個版本,就要釋出到線上執行。 之前,採用的都是ftp檔案傳輸工具上傳到伺服器上的web目錄下,進行釋出更新。但是每次有小的地方改進,都需要先

如何保持從github上fork過來的專案作者同步更新

github的pullrequest的功能是如果你fork了某人的專案,並對原作者的程式碼進行了一些修改,想要合併到他的專案中,那你就可以通過pullrequest來請求合併。但是如果原作者對自己的

如何保持github上fork專案專案同步

前言 Github可謂是開發者的樂園,眾多的優秀開源專案,有時候我們想關注某個專案,常用的是star,偶爾會fork一下,到個人專案庫中,研習程式碼,更希望有機會可以貢獻程式碼。作為技術小白,現在會遇到已經fork的程式碼,原專案可能更新了,而個人賬戶下的專案

GitHub自己倉庫fork專案開源專案的程式碼保持一致

步驟(此處用的是Alibaba/fastjson):1.將開源專案fork到自己賬號下的倉庫中;2.將自己倉庫中fork的專案clone到本地;3.clone需要將遠端倉庫clone到本地,此處省略安裝本地github的過程,隨便在哪個目錄(專案存放的目錄),右鍵開啟一個Gi

GitHub上fork專案作者原始碼保持一致的方法

今天在找一些javaweb的專案練練手的時候,因為有很多的專案在GitHub上,在拿的時候,看到很多的大佬都是說盡量點選star不要fork,剛開始以為是隻是為了給自己漲人氣的,後來看到一個人的評論才知道是為什麼。 因為fork過來的專案

如何使得github上fork的repoorigin保持同步

acm ppc glm yep lob 其中 xxd bfc gym 在日常工作中使用github時,特別是在參與開源項目時,我們可能會需要從一個他人創建的Repository中,fork出這個項目到自己的Repository,而他人的Repository是沒有給我們開放這

如何在github上fork一個專案來貢獻程式碼以及同步原作者的修改

作為一個IT人,通過github進行學習是最快的成長手段。我們可以瀏覽別人的優秀程式碼。但只看不動手還是成長得很慢,因此為別人貢獻程式碼才是明智之舉。比如我們看下片看,許多大片都是由字幕組免費翻譯壓制的。為什麼他們要這樣做呢?因為他們都是聰明的大學生,為了提高聽力水平,提高筆譯水平才這樣乾的!中國人

fork出來的分支專案合併

轉載地址:如何同步 Github fork 出來的分支 git remote add upstream [email protected]:original_owner/original_repository.git git fetch upstream git merge upstr

git多人蔘專案 -> 分支程式碼如何合併到主幹

個人理解:合併分支時候就是當前分支,與別的分支先合併一遍,然後解決分支中存在的所有衝突,之後將本地分支程式碼提交到git遠端倉庫,之後切換主幹分支 ,將主幹分支與分支內容合併,解決衝突, 在提交主幹分支內容,最後push主幹分支內容到遠端倉庫 以下是我參考的內容 

SVN 的使用:用兩次就會了,很簡單.注意總結【①做完自己程式碼,首先右鍵專案>team >“資源庫同步”,把隊友的程式碼更新下來(而不是直接提交),②整合完設定"衝突已解決",才能提交】===

SVN 的使用:用兩次就會了,很簡單。 0.上傳基礎專案框架時。設定檔案忽略。(本地相關的、每臺電腦獨有的配置檔案不要上傳。)====每個人都要設定。 1.下載繼專案 首先整個專案組成員,從SVN下載同一份 框架程式碼。 ===1.1 下載下來的基礎專案,要先要轉maven

gitgitlab專案管理搭建教程

一:gitlab註冊登入,可以通過github聯名登入,點選github圖示,利用github賬號登入,也可以直接註冊登入二:新建專案,登入之後點選頂部加號找到new project選項新建專案,如圖三:新建專案介面如下,填寫專案名稱,描述,選擇專案型別,包括共有,私有,這個

github中自己倉庫fork的原倉庫保持同步更新的步驟

第一步 clone你fork的專案使用git命令列clone專案:git clone [email protected]:[yourname]/Spoon-knife第二步 新增新的遠端倉庫地址當你clone完一個專案,可以使用git remote -v來檢視你fo

1、eclipse 使用git提交專案至github進行專案託管

1、登入github建立倉庫 2、eclipse 選中要上傳的專案,建立本地倉庫 3、finish之後,整個專案的效果為:   1、專案資料夾內多了.git資料夾,該資料夾為該專案的本地倉庫,用於管理版本。 &nbs