Git和Github之間的區別

http:// jahya .NET / blog /?2013-05- Git -vs-githubgit

 

ls與Github相同!github


有一天,我試圖告訴一個朋友Git和Github是如何相關的。Git end和Github在哪裏開始?他們每一個人甚至爲你作什麼?

我意識到這其實是值得一去不復返的基礎知識之一。若是您能夠互換使用術語,這個區別可讓您瞭解更多信息的良好背景,而且明確性將使您可以稍後引導一連串混亂。

什麼是Git?
那麼Git不是Github。Git是您在計算機上本地安裝的一個軟件,它爲您處理「版本控制」。
Git不是Github 

因此要了解Git,你必須學習版本控制。

什麼是版本控制?
讓' 說你有一些新的項目,你打算將該項目的全部文件存儲在一些新的目錄中。你知道,隨着時間的推移,這個項目中的文件將會發生很大變化。事情會變得凌亂,誰知道何時可能須要恢復到之前的工做版本?

因此,你在你的電腦上安裝Git。而後,您有Git爲您建立新的項目目錄。你也告訴Git你想保留你在該目錄中所作的更改的歷史記錄。

而後,您添加一些文件來啓動項目。您剛剛添加的文件表明項目之旅的第一個增量步驟。因此你告訴Git拍一張快照。

而後你作一個小的改變 - 你的下一個增量步驟。因此你再拍一張快照。

而後' 關於它的版本控制 - 作一個小的改變,拍攝快照,作另外一個小的變化,拍攝快照。而後,您可使用Git在須要時經過項目目錄的每一個快照(快照aka版本)來回滾動。所以,版本控制。

而Git只是許多版本控制系統之一,您能夠在您的機器上下載並安裝。所以,吉特。

與Git 
合做對你而言,這是個好人。可是若是你正在一個團隊工做,並且你想分享你的項目目錄呢?而且您想在您的機器上進行更改,將這些更改發送給協做者,而且還會在計算機的項目目錄中顯示更改?

Git是一個所謂的分佈式版本控制系統。
全部這一切意味着Git具備容許您將更改推送到其餘人的計算機的命令 : 使用Git 

進行協做項目目錄的兩個副本比任何其餘文件都更好或「更大」 - 您正在對相同的副本進行協做。這是一件好事,Git讓您有權力按照本身的副本進行工做,直到您準備好參與協做者的更改,並推送本身的更改。

可是,除非您天天正在相互工做,不然您沒法肯定合做者什麼時候將本身的計算機插入網絡。若是有第三個相同的副本,大家均可以推拉,那不是很好嗎?

與Git和GitHub合做
嗯,那就是Github!它是核心,它只是一個地方存儲你的相同的工做目錄 - 也稱爲倉庫,或回購的簡稱。這就是Github提供的服務 - 它真的是Git倉庫的中樞。
使用Git和GitHub進行協做

Github爲您提供了一些更多的功能,如一個漂亮的網站,容許您比較更改和管理用戶賬戶。可是,存在的理由是託管您的資料,並使您更容易地從合做者推出。

*不僅是一個託管服務!
人們常犯的一個常見錯誤就是認爲,由於Github的repo默認是公開的,它基本上只是在完成時託管和分享你的代碼。這是你能夠作的一件事,但若是這是你正在作的,你錯過了Git的實力。

Git真正擅長的是協做工具。一個讓你與別人作的地方 若是您在本地機器上執行全部編碼,而後在最後一次將快照上傳到一個快照(也稱爲提交)中,則會丟失大量的值。

Git容許您在每一次變化以後進行快照/提交。我天天常常有10次提交,我或任何人均可以隨時隨地經過這些快照來進行循環。人們能夠看到個人思惟發展如何 - 早期的承諾是實驗性的,項目幾乎沒有開始解決它的目標,後來的承諾更加成熟,項目愈來愈近了。

提早提交,
可是,提早/提交的更大的好處每每是其餘人能夠看到和評論你在作什麼。您正在進行協做和開放,反饋,建議或幫助,您可能會改變項目的整個過程,以得到更大的收益。它可能會節省您一大堆時間,幫助您發現之前未考慮的潛在潛力,甚至能夠肯定一個能幫助您推進項目前進的好的協做者。

打開你的半點想法對一些人來講聽起來很恐怖,可是咱們都經歷了這些階段 - 那些是反饋和參與最爲關鍵的時代。若是您不但願世界看到您的項目,您能夠隨時建立一個私人回購,並經過邀請拉入協做者。

Github的替代方案
因爲Git和Github並無真正的關聯 - Github只是另外一個存儲相同回收站的地方 - 您可使用任何Git託管服務。一個替代方案是Bitbucket。這個服務給你免費的私人回饋(不像Github),以防你不能隨時與世界分享你的工做。

然而,Github是使用最普遍的Git主機服務,而且擁有普遍的用戶共享代碼和交互的社區。

如何學習Git 
因此在任何狀況下,當您開始的真正挑戰是不學習Github,這只是一個可互換的服務,容許您託管真正有價值的東西 - 您的Git存儲庫。你的注意力是更好地學習Git。

在我看來,學習Git的最好方法是這本免費的在線書籍:git-scm。com /書。它逐步引導您走過,並不承擔任何特定的知識。有一個在線,PDF和mobi版本可用,而且當您進入該階段時,它使用Github進行託管。

有不少話題要覆蓋,但對於大多數用戶進行至關小的交互,前兩章應該足夠了。您能夠在必要時拿起更硬的東西。

嘗試Git,若是你想嘗試一些命令,而不用經歷安裝Git的麻煩,另外一個好的地方。期待一些商業廣告聯盟,它不會回答你的問題,如書。但它確實讓你經過作事嘗試和學習。

祝你好運!當您進入該階段時,它會使用Github進行託管。有不少話題要覆蓋,但對於大多數用戶進行至關小的交互,前兩章應該足夠了。您能夠在必要時拿起更硬的東西。嘗試Git,若是你想嘗試一些命令,而不用經歷安裝Git的麻煩,另外一個好的地方。期待一些商業廣告聯盟,它不會回答你的問題,如書。但它確實讓你經過作事嘗試和學習。網絡

相關文章
相關標籤/搜索