取得 Git 倉庫 —— Git 學習筆記 04

ARM的程式設計師敲著詩歌的夢發表於2020-04-04

取得 Git 倉庫 —— Git 學習筆記 04

我認為, Git 的學習分為兩大塊:一是工作區、索引、本地版本庫之間的互動;二是本地版本庫和遠端版本庫之間的互動。第一塊是基礎,第二塊是難點。

下面,我們就圍繞著第一部分內容來學習,先不考慮遠端倉庫,只考慮本地倉庫。

怎樣取得專案的 Git 倉庫?

有兩種取得 Git 專案倉庫的方法。第一種是在本地建立一個新的倉庫,第二種是把其他地方的某個倉庫克隆(clone)到本地。

方法一:在工作目錄中初始化新倉庫

假設我們有一個目錄,目錄下只有一個檔案——“hello.c”

那麼我們可以進入到這個目錄下,執行命令

 git init

執行命令後,Git 會有一行提示,類似於:

Initialized empty Git repository in ...

初始化後,在當前目錄下會出現一個名為.git 的目錄(隱藏檔案),所有 Git 需要的資料和資源都存放在這個目錄中。沒事不要修改或者刪除這個目錄,不然就把倉庫破壞了。

為了把當前目錄下的檔案納入版本控制,需要用 git add 命令告訴 Git

git add hello.c

我們還可以繼續新增檔案,例如

touch world.c
git add world.c

有人要問了,如果目錄下有很多.c檔案,難道要一個一個手動新增嗎?

當然不用,可以用萬用字元。

git add *.c

這樣就會把當前目錄下的所有以.c結尾的檔案納入版本控制。

另外,git add 後面也可以是一個目錄名,這時候 git 會把此目錄下的所有檔案和子目錄遞迴式地新增到索引中。

新增好檔案後,把已新增的檔案提交到本地倉庫。

 git commit -m 'initial project version'

現在,我們就得到了一個實實在在的倉庫了。關於git addgit commit命令,後面的博文會細說。

方法二:從現有倉庫克隆

如果想加入到某個專案中,可以先把該專案的 Git 倉庫複製到你的電腦上,這就需要用到 git clone 命令。

其命令格式為 git clone [url]。比如,要克隆 Ruby 語言的程式碼倉庫 Grit,可以用下面的命令:

git clone git://github.com/schacon/grit.git

這會在當前目錄下建立一個名為 grit 的目錄,其中包含一個 .git 的目錄,用於儲存下載下來的所有版本記錄,然後從中取出最新版本的檔案拷貝。如果進入這個新建的 grit 目錄,你會看到專案的所有檔案已經在裡邊了,供你後續開發使用。

如果希望在克隆的時候,自己指定目錄,則需要在命令末尾加上目錄名,比如指定目錄為 mygrit

git clone git://github.com/schacon/grit.git mygrit

唯一的差別就是,現在新建的目錄成了 mygrit,其他的都和上邊說的一樣。

注意:Git 支援許多資料傳輸協議。前面的例子使用的是 git:// 協議,其實也可以用 http(s):// 或者 user@server:xxxxxxxx 表示的 SSH 傳輸協議。這些等學到遠端版本庫再說,現在不用深究。


參考資料

《精通Git(第2版)》,Scott Chacon & Ben Straub,人民郵電出版社

相關文章