導讀:什麼是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官方網站的安裝手冊
https://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,可以看到新的檔案被新增進來
獲取知識乾貨、增加面試經驗、瞭解職場人生
歡迎關注微信公眾號