W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有兩種取得 Git 項目倉庫的方法。第一種是在現(xiàn)存的目錄下,通過導入所有文件來創(chuàng)建新的 Git 倉庫。第二種是從已有的 Git 倉庫克隆出一個新的鏡像倉庫來。
要對現(xiàn)有的某個項目開始用 Git 管理,只需到此項目所在的目錄,執(zhí)行:
$ git init
初始化后,在當前目錄下會出現(xiàn)一個名為 .git 的目錄,所有 Git 需要的數(shù)據(jù)和資源都存放在這個目錄中。不過目前,僅僅是按照既有的結(jié)構(gòu)框架初始化好了里邊所有的文件和目錄,但我們還沒有開始跟蹤管理項目中的任何一個文件。(在第九章我們會詳細說明剛才創(chuàng)建的 .git
目錄中究竟有哪些文件,以及都起些什么作用。)
如果當前目錄下有幾個文件想要納入版本控制,需要先用 git add
命令告訴 Git 開始對這些文件進行跟蹤,然后提交:
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
稍后我們再逐一解釋每條命令的意思。不過現(xiàn)在,你已經(jīng)得到了一個實際維護著若干文件的 Git 倉庫。
如果想對某個開源項目出一份力,可以先把該項目的 Git 倉庫復制一份出來,這就需要用到 git clone
命令。如果你熟悉其他的 VCS 比如 Subversion,你可能已經(jīng)注意到這里使用的是 clone
而不是 checkout
。這是個非常重要的差別,Git 收取的是項目歷史的所有數(shù)據(jù)(每一個文件的每一個版本),服務器上有的數(shù)據(jù)克隆之后本地也都有了。實際上,即便服務器的磁盤發(fā)生故障,用任何一個克隆出來的客戶端都可以重建服務器上的倉庫,回到當初克隆時的狀態(tài)(雖然可能會丟失某些服務器端的掛鉤設(shè)置,但所有版本的數(shù)據(jù)仍舊還在,有關(guān)細節(jié)請參考第四章)。
克隆倉庫的命令格式為 git clone [url]
。比如,要克隆 Ruby 語言的 Git 代碼倉庫 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git
這會在當前目錄下創(chuàng)建一個名為grit
的目錄,其中包含一個 .git
的目錄,用于保存下載下來的所有版本記錄,然后從中取出最新版本的文件拷貝。如果進入這個新建的 grit
目錄,你會看到項目中的所有文件已經(jīng)在里邊了,準備好后續(xù)的開發(fā)和使用。如果希望在克隆的時候,自己定義要新建的項目目錄名稱,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit
唯一的差別就是,現(xiàn)在新建的目錄成了 mygrit
,其他的都和上邊的一樣。
Git 支持許多數(shù)據(jù)傳輸協(xié)議。之前的例子使用的是 git://
協(xié)議,不過你也可以用 http(s)://
或者 user@server:/path.git
表示的 SSH 傳輸協(xié)議。我們會在第四章詳細介紹所有這些協(xié)議在服務器端該如何配置使用,以及各種方式之間的利弊。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: