一、Git 命令篇:取得項(xiàng)目的Git倉(cāng)庫(kù)

取得項(xiàng)目的 Git 倉(cāng)庫(kù)

有兩種取得 Git 項(xiàng)目倉(cāng)庫(kù)的方法。

第一種是在現(xiàn)存的目錄下,通過(guò)導(dǎo)入所有文件來(lái)創(chuàng)建新的 Git 倉(cāng)庫(kù)。

?在工作目錄中初始化新倉(cāng)庫(kù) 要對(duì)現(xiàn)有的某個(gè)項(xiàng)目開(kāi)始用 Git 管理,只需到此項(xiàng)目所在的目錄,執(zhí)行:

?$ git init

初始化后,在當(dāng)前目錄下會(huì)出現(xiàn)一個(gè)名為 .git 的目錄,所有 Git 需要的數(shù)據(jù)和資源都存放在這個(gè)目錄中。不過(guò)目前,僅僅是按照既有的結(jié)構(gòu)框架初始化好了里邊所有的文件和目錄,但我們還沒(méi)有開(kāi)始跟蹤管理項(xiàng)目中的任何一個(gè)文件。

?如果當(dāng)前目錄下有幾個(gè)文件想要納入版本控制,需要先用 git add 命令告訴 Git 開(kāi)始對(duì)這些文件進(jìn)行跟蹤,然后提交:

$ git add *.c

$ git add README

$ git commit -m 'initial project version'

不過(guò)現(xiàn)在,你已經(jīng)得到了一個(gè)實(shí)際維護(hù)著若干文件的 Git 倉(cāng)庫(kù)。

第二種是從已有的 Git 倉(cāng)庫(kù)克隆出一個(gè)新的鏡像倉(cāng)庫(kù)來(lái)。

如果想對(duì)某個(gè)開(kāi)源項(xiàng)目出一份力,可以先把該項(xiàng)目的 Git 倉(cāng)庫(kù)復(fù)制一份出來(lái),這就需要用到 git clone 命令。如果你熟悉其他的 VCS 比如 Subversion,你可能已經(jīng)注意到這里使用的是 clone 而不是 checkout。這是個(gè)非常重要的差別,Git 收取的是項(xiàng)目歷史的所有數(shù)據(jù)(每一個(gè)文件的每一個(gè)版本),服務(wù)器上有的數(shù)據(jù)克隆之后本地也都有了。實(shí)際上,即便服務(wù)器的磁盤(pán)發(fā)生故障,用任何一個(gè)克隆出來(lái)的客戶端都可以重建服務(wù)器上的倉(cāng)庫(kù),回到當(dāng)初克隆時(shí)的狀態(tài)(雖然可能會(huì)丟失某些服務(wù)器端的掛鉤設(shè)置,但所有版本的數(shù)據(jù)仍舊還在,有關(guān)細(xì)節(jié)請(qǐng)參考第四章)。 --這里就體現(xiàn)了分布式的好處與強(qiáng)大了

克隆倉(cāng)庫(kù)的命令格式為 git clone [url]。

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

?這會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為grit的目錄,其中包含一個(gè) .git 的目錄,用于保存下載下來(lái)的所有版本記錄,然后從中取出最新版本的文件拷貝。如果進(jìn)入這個(gè)新建的 grit 目錄,你會(huì)看到項(xiàng)目中的所有文件已經(jīng)在里邊了,準(zhǔn)備好后續(xù)的開(kāi)發(fā)和使用。如果希望在克隆的時(shí)候,自己定義要新建的項(xiàng)目目錄名稱,可以在上面的命令末尾指定新的名字:

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

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

?Git 支持許多數(shù)據(jù)傳輸協(xié)議。之前的例子使用的是 git:// 協(xié)議,不過(guò)你也可以用 http(s):// 或者 user@server:/path.git 表示的 SSH 傳輸協(xié)議。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容