以個人經驗來看,剛接觸Git和GitHub時,最困擾的一件事情就是嘗試解決下面的問題:在Git和GitHub上,我能作什麼?html
Git教程每每不會解決這個問題,由於它集中篇幅來教你Git命令和概念,而且不認爲你會使用GitHub。GitHub幫助教程必定程度上彌補了這一缺陷,可是它每篇文章的關注點都較爲狹隘,並且沒有提供關於"Git vs GitHub"問題的概念性概述。linux
若是你是習慣於先理解概念,再着手代碼的學習者,並且你也是Git和GitHub的初學者,我建議你先理解清楚什麼是fork。爲何呢 ?git
本篇指南使用兩張簡單的圖表,來教會你fork的兩種主要工做流程。我並不打算涉及任何代碼,可是在結論中,我會把你須要使用的代碼的連接給你。github
fork而且更新一個倉庫ide
如今有這樣一種情形:有一個叫作Joe的程序猿寫了一個遊戲程序,而你可能要去改進它。而且Joe將他的代碼放在了GitHub倉庫上。下面是你要作的事情:學習
fork而且更新GitHub倉庫的圖表演示ui
若是Joe接受了你的pull request,他將把那些修改拉到本身的倉庫。勝利!翻譯
同步一個fork視頻
Joe和其他貢獻者已經對這個項目作了一些修改,而你將在他們的修改的基礎上,還要再作一些修改。在你開始以前,你最好"同步你的fork",以確保在最新的複製版本里工做。下面是你要作的:
htm
同步GitHub fork的圖表示意圖
比較一下fork和同步工做流程的區別:當你最初fork一個倉庫的時候,信息的流向是從Joe的倉庫到你的倉庫,而後再到你本地計算機。可是最初的過程以後,信息的流向是從Joe的倉庫到你的本地計算機,以後再到你的倉庫。
結論
我但願這是一篇關於GitHub和Git 的 fork有用概述。如今,你已經理解了那些概念,你將會更容易地在實際中執行你的代碼。GitHub關於fork和同步的文章將會給你大部分你須要的代碼。
若是你是Git的初學者,並且你很喜歡這種學習方式,那麼我極力推薦書籍Pro Git的前兩個章節,網上是能夠免費查閱的。
若是你喜歡視頻學習,我建立了一個11部分的視頻系列(總共36分鐘),來向初學者介紹Git和GitHub。
via: http://www.dataschool.io/simple-guide-to-forks-in-github-and-git/
做者:Kevin Markham 譯者:su-kaiyao 校對:wxy