一篇文章快速搞懂什麼是GitHub

 

導讀:什麼是GitHub?Git與GitHub之間是什麼關係?我們為什麼需要版本控制系統?GitHub如何使用?本文將帶你一探究竟。

本文字數:1710,閱讀時長大約:13分鐘

一、什麼是版本控制

按照百度百科的說法:「版本控制是指對軟體開發過程中各種程式程式碼、配置文件及說明文檔等文件變更的管理,是軟體配置管理的核心思想之一。」

這裡的核心詞是對「文件變更的管理」,其實不管是寫程式碼還是寫文檔,當文件發生變更時都會有兩個繞不開的問題:一個是文件版本的管理,另一個是團隊如何協作。

比如當你在做一份報告時,每一次比較大的改動可能都會做一個副本,以備後面有改回來的需要。每一個副本文件名都加一些不同的後綴,比如數字、字母、日期等等。不過可能時間一長,你自己也不記得每個副本都做過的哪些修改,甚至找不到最後一個版本是哪份文件了。又比如當一個團隊需要去修改一份數據文件,小明、小紅、小剛等人都在同時修改,每個人的修改是否都能被包含在數據文件里,最終的文件以哪一份為準?在這些場景中,我們都需要一個文件版本控制系統來幫助我們解決文件的版本問題以及團隊協作的問題。

 

版本控制系統可以幫助我們記錄文件的變更,包括在什麼時間、被什麼人、修改了哪些內容。這樣我們就不用在自己的電腦里保存那麼多份文件副本了,只需要將每一次的修改提交到版本控制系統中去。如果未來需要文件回溯,可以直接在系統中選擇歷史版本,非常簡單方便。另外在軟體開發中往往是一個團隊共同進行,版本控制系統可以支援並行開發,能夠通過分支、合併等方式有效地解決修改衝突。

 

版本控制系統有很多,除了我們今天要介紹的 Git,比較常用的還有 Subversion, CVS,和 Mercurial。 

 

 

二、什麼是 Git

Git,最初是由 Linux之父 Linus Torvalds在2005年開發出來的一款開源的版本控制系統。和其他版本控制系統一樣,它最核心的一個概念就是倉庫(repository)。倉庫其實就是在電腦中開啟了Git記錄的一個文件夾/目錄。倉庫中可以包含多個文件以及子文件夾。Git中的倉庫是存儲在本地電腦上的,不像其他的版本控制系統(比如Subversion)將倉庫存儲在伺服器當中。這就意味著Git允許你在電腦不聯網的情況下也可以正常工作,你可以修改文件、提交、查看修改歷史、分支、合併等等。

 

Git最初只有命令行,後來也開發出了桌面版GUI的程式,不過桌面版GUI功能有限,想要使用最完整的功能,還是建議使用命令行。

 

 

三、什麼是 GitHub

Git雖然是一個很好的版本管理系統,但是只通過命令行的方式來使用還是有一些不方便。於是在2008年,開源社區開發了一個叫GitHub的網站。它可以存儲所有的Git倉庫,並且提升了開發者們之間的協作體驗。GitHub迅速成為了開源社區的寵兒,大量開源項目紛紛落戶,使用它來做版本控制以及溝通協作。現在有成千上萬的公司也加入了進來,使用GitHub作為公司內部的版本控制系統。

 

時至今日,GitHub已經不再單單是一個版本管理的網站,它更像是一個開源社區的社交工具。很多開發者們都會在上面去逛,看看有哪些好玩的、自己感興趣的項目。我們也可以看到其他開發者們參與過哪些項目,每個人都好像有一張自己的名片。當你想要參與到某個項目中去時,項目管理者也可以根據你的記錄來選擇是否接受。

 

 

四、Git的安裝與使用

了解了Git與GitHub的原理之後,我們來看一下如何使用GitHub創建一個新的或者使用一個項目。

(1)打開GitHub的網站www.github.com

如果還沒有賬戶,可以按照提示註冊一下。

(2)創建一個新的倉庫

點擊創建倉庫(Create repository)按鈕

 

填寫倉庫(項目)名稱,設置成公共/私有倉庫,同時可以初始化一個README文件。

創建成功

(3)在本地電腦安裝Git

以 CentOS為例,使用 yum install -y git 命令安裝;其他作業系統可以參考Git官方網站的安裝手冊 

//git-scm.com/downloads

安裝好後不要忘了配置 Git帳號

(4)將GitHub的倉庫複製到本地

點擊Code按鈕,將倉庫的URL複製下來。

使用 git clone + url 的命令將倉庫複製到本地

(5)在本地添加一個新文件

進入github-test文件夾,添加一個hello.c的文件。

使用 git status 命令查看當前狀態,系統提示有一個未跟蹤的文件hello.c,建議使用git add命令來包含要提交的內容

使用 git add 命令添加要提交的文件

使用 git commit -m “comments” 來提交修改;注意,這裡的提交只是提交到了本地的 Git倉庫,如果想同步到 GitHub還需要使用到 git push命令

使用 git push 命令將修改同步到 GitHub

回到GitHub,可以看到新的文件被添加進來

 

 

獲取知識乾貨、增加面試經驗、了解職場人生

歡迎關注微信公眾號