Linux 之父 Linus 在 1991 年建立開源的 Linux 操做系統以後,多年來依靠全世界廣大熱心志願者的共同建設,通過長足發展,現已成爲世界上最大的服務器系統。系統建立之初,代碼貢獻者將源碼文件發送給 Linus,由其手動合併。這種方式維持多年後,代碼量已經龐大到人工合併難覺得繼,因而深惡集中式版本控制系統的 Linus 選擇了一個分佈式商業版本控制系統 BitKeeper,不過 Linux 社區的建設者們能夠無償使用它。BitKeeper 改變了 Linus 對版本控制的認識,同時 Linus 發現 BitKeeper 有一些不足,並且有個關鍵性的問題使之不能被普遍使用,就是不開源。git
在 2005 年,BitKeeper 所在公司發現 Linux 社區有人企圖破解它,BitKeeper 決定收回 Linux 社區的無償使用權。Linus 對此事調節數週無果,找遍了當時已知的各類版本控制系統,沒有一個看上眼的,一怒之下決定本身搞一個。Linus 花了十天時間用 C 語言寫好了一個開源的版本控制系統,就是著名的 Git。github
2007 年舊金山三個年輕人以爲 Git 是個好東西,就搞了一個公司名字叫 GitHub,第二年上線了使用 Ruby 編寫的同名網站 GitHub,這是一個基於 Git 的免費代碼託管網站(有付費服務)。十年間,該網站迅速躥紅,擊敗了實力雄厚的 Google Code,成爲全世界最受歡迎的代碼託管網站。2018 年 6 月,GitHub 被財大氣粗的 Microsoft 收購。2019 年 1 月 GitHub 宣佈用戶能夠免費建立私有倉庫。根據 2018 年 10 月的 GitHub 年度報告顯示,目前有 3100 萬開發者建立了 9600 萬個項目倉庫,有 210 萬企業入駐。服務器
首先,打開 GitHub 註冊我的帳戶並登陸。登陸後,在我的主頁的右上角點擊 New repository 建立新的倉庫:分佈式
打開頁面以下圖所示,填入相關信息。注意下圖紫色框中有兩個下拉按鈕,左邊的用來選擇忽略文件,右邊的用來選擇所屬協議,這兩項能夠不選,後面會講到。網站
點擊綠色按鈕建立新的倉庫,成功後自動跳轉到新建倉庫的主頁面,以下圖所示:操作系統
接下來,嘗試使用這個倉庫。命令行
首先到 Git 官網下載客戶端,Windows 用戶默認下一步進行安裝,安裝好以後,開始菜單裏會有一個 Git Bash,點擊打開3d
打開後相似於一個命令行窗口,使用 git --version
命令能夠查看安裝的版本信息。版本控制
如今克隆前面在 GitHub 上建立的倉庫,使用 git clone + [倉庫地址]
命令便可,這是標準的克隆倉庫命令。code
點擊下圖綠色按鈕,再點擊紫色框中的按鈕便可複製倉庫地址。
克隆倉庫到本地:
進入倉庫主目錄,以下圖所示,倉庫主目錄中有個 .git
隱藏目錄,它裏面包含了倉庫的所有信息,刪掉這個目錄,倉庫就變成普通的目錄了。進入到倉庫目錄中,命令行發生了一些變化,出現了藍青色的 master ,它就是當前所在的分支名:
當咱們在 GitHub 上建立一個倉庫時,同時生成了倉庫的默認主機名 origin,並建立了默認分支 master。GitHub 能夠當作是免費的 Git 服務器,在 GitHub 上建立倉庫,會自動生成一個倉庫地址,主機就是指代這個倉庫,主機名就等於這個倉庫地址。克隆一個 GitHub 倉庫(也叫遠程倉庫)到本地,本地倉庫則會自動關聯到這個遠程倉庫,執行 git remote -v
命令能夠查看本地倉庫所關聯的遠程倉庫信息:
Git 要求對本地倉庫關聯的每一個遠程主機都必須指定一個主機名(默認爲 origin),用於本地倉庫識別本身關聯的主機,git remote
命令就用於管理本地倉庫所關聯的主機,一個本地倉庫能夠關聯任意多個主機(即遠程倉庫)。
克隆遠程倉庫到本地時,還可使用 -o 選項修改主機名,在地址後面加上一個字段做爲本地倉庫的主目錄名,舉例以下:
另外一個在其它 Git 教程中常見的命令 git init
,它會把當前所在目錄變成一個本地倉庫,由於有 GitHub 的存在,這個命令在咱們的生產生活中用到的次數不多。操做截圖以下: