指南:在Github和Git上如何Fork

以個人經驗來看,剛接觸Git和GitHub時,最困擾的一件事情就是嘗試解決下面的問題:在Git和GitHub上,我能作什麼?html

Git教程每每不會解決這個問題,由於它集中篇幅來教你Git命令和概念,而且不認爲你會使用GitHub。GitHub幫助教程必定程度上彌補了這一缺陷,可是它每篇文章的關注點都較爲狹隘,並且沒有提供關於"Git vs GitHub"問題的概念性概述。linux

若是你是習慣於先理解概念,再着手代碼的學習者,並且你也是Git和GitHub的初學者,我建議你先理解清楚什麼是fork。爲何呢 ?git

  1. Fork是在GitHub起步最廣泛的方式。
  2. Fork只須要不多的Git命令,可是起得做用卻很是大。
  3. Fork提供了對Git和GitHub最基礎的瞭解,有益於你以後的工做。

本篇指南使用兩張簡單的圖表,來教會你fork的兩種主要工做流程。我並不打算涉及任何代碼,可是在結論中,我會把你須要使用的代碼的連接給你。github

fork而且更新一個倉庫ide

如今有這樣一種情形:有一個叫作Joe的程序猿寫了一個遊戲程序,而你可能要去改進它。而且Joe將他的代碼放在了GitHub倉庫上。下面是你要作的事情:學習

指南:在Github和Git上如何Fork指南:在Github和Git上如何Fork

fork而且更新GitHub倉庫的圖表演示ui

  1. Fork他的倉庫:這是GitHub操做,這個操做會複製Joe的倉庫(包括文件,提交歷史,issues,和其他一些東西)。複製後的倉庫在你本身的GitHub賬號下。目前,你本地計算機對這個倉庫沒有任何操做。
  2. Clone你的倉庫:這是Git操做。使用該操做讓你發送"請給我發一份我倉庫的複製文件"的命令給GitHub。如今這個倉庫就會存儲在你本地計算機上。
  3. 更新某些文件:如今,你能夠在任何程序或者環境下更新倉庫裏的文件。
  4. 提交你的更改:這是Git操做。使用該操做讓你發送"記錄個人更改"的命令至GitHub。此操做只在你的本地計算機上完成。
  5. 將你的更改push到你的GitHub倉庫:這是Git操做。使用該操做讓你發送"這是個人修改"的信息給GitHub。Push操做不會自動完成,因此直到你作了push操做,GitHub才知道你的提交。
  6. 給Joe發送一個pull request:若是你認爲Joe會接受你的修改,你就能夠給他發送一個pull request。這是GitHub操做,使用此操做能夠幫助你和Joe交流你的修改,而且詢問Joe是否願意接受你的"pull request",固然,接不接受徹底取決於他本身。

若是Joe接受了你的pull request,他將把那些修改拉到本身的倉庫。勝利!翻譯

同步一個fork視頻

Joe和其他貢獻者已經對這個項目作了一些修改,而你將在他們的修改的基礎上,還要再作一些修改。在你開始以前,你最好"同步你的fork",以確保在最新的複製版本里工做。下面是你要作的:
指南:在Github和Git上如何Fork指南:在Github和Git上如何Forkhtm

同步GitHub fork的圖表示意圖

  1. 從Joe的倉庫中取出那些變化的文件:這是Git操做,使用該命令讓你能夠從Joe的倉庫獲取最新的文件。
  2. 將這些修改合併到你本身的倉庫:這是Git操做,使用該命令使得那些修改更新到你的本地計算機(那些修改暫時存放在一個"分支"中)。記住:步驟1和2常常結合爲一個命令使用,合併後的Git命令叫作"pull"。
  3. 將那些修改更新推送到你的GitHub倉庫(可選):記住,你本地計算機不會自動更新你的GitHub倉庫。因此,惟一更新GitHub倉庫的辦法就是將那些修改推送上去。你能夠在步驟2完成後當即執行push,也能夠等到你作了本身的一些修改,並已經本地提交後再執行推送操做。

比較一下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

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

原文來自:https://linux.cn/article-4292-1.html

本文地址: http://www.linuxprobe.com/fork-github-git.html

相關文章
相關標籤/搜索