2.1 獲取 Git 倉庫

2018-02-24 15:22 更新

獲取 Git 倉庫

有兩種取得 Git 項(xiàng)目倉庫的方法。第一種是在現(xiàn)有項(xiàng)目或目錄下導(dǎo)入所有文件到 Git 中;第二種是從一個(gè)服務(wù)器克隆一個(gè)現(xiàn)有的 Git 倉庫。

在現(xiàn)有目錄中初始化倉庫

如果你打算使用 Git 來對現(xiàn)有的項(xiàng)目進(jìn)行管理,你只需要進(jìn)入該項(xiàng)目目錄并輸入:

$ git init

該命令將創(chuàng)建一個(gè)名為 .git 的子目錄,這個(gè)子目錄含有你初始化的 Git 倉庫中所有的必須文件,這些文件是 Git 倉庫的骨干。但是,在這個(gè)時(shí)候,我們僅僅是做了一個(gè)初始化的操作,你的項(xiàng)目里的文件還沒有被跟蹤。(參見 Chapter?10 來了解更多關(guān)于到底 .git 文件夾中包含了哪些文件的信息。)

如果你是在一個(gè)已經(jīng)存在文件的文件夾(而不是空文件夾)中初始化 Git 倉庫來進(jìn)行版本控制的話,你應(yīng)該開始跟蹤這些文件并提交。你可通過 git add 命令來實(shí)現(xiàn)對指定文件的跟蹤,然后執(zhí)行 git commit 提交:

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

稍后我們再逐一解釋每一條指令的意思?,F(xiàn)在,你已經(jīng)得到了一個(gè)實(shí)際維護(hù)(或者說是跟蹤)著若干個(gè)文件的 Git 倉庫。

克隆現(xiàn)有的倉庫

如果你想獲得一份已經(jīng)存在了的 Git 倉庫的拷貝,比如說,你想為某個(gè)開源項(xiàng)目貢獻(xiàn)自己的一份力,這時(shí)就要用到 git clone 命令。如果你對其它的 VCS 系統(tǒng)(比如說Subversion)很熟悉,請留心一下你所使用的命令是"clone"而不是"checkout"。這是 Git 區(qū)別于其它版本控制系統(tǒng)的一個(gè)重要特性,Git 克隆的是該 Git 倉庫服務(wù)器上的幾乎所有數(shù)據(jù),而不是僅僅復(fù)制完成你的工作所需要文件。當(dāng)你執(zhí)行 git clone 命令的時(shí)候,默認(rèn)配置下遠(yuǎn)程 Git 倉庫中的每一個(gè)文件的每一個(gè)版本都將被拉取下來。事實(shí)上,如果你的服務(wù)器的磁盤壞掉了,你通??梢允褂萌魏我粋€(gè)克隆下來的用戶端來重建服務(wù)器上的倉庫(雖然可能會丟失某些服務(wù)器端的掛鉤設(shè)置,但是所有版本的數(shù)據(jù)仍在,詳見 “在服務(wù)器上搭建 Git” )。

克隆倉庫的命令格式是 git clone [url] 。比如,要克隆 Git 的可鏈接庫 libgit2,可以用下面的命令:

$ git clone https://github.com/libgit2/libgit2

這會在當(dāng)前目錄下創(chuàng)建一個(gè)名為 “l(fā)ibgit2” 的目錄,并在這個(gè)目錄下初始化一個(gè) .git 文件夾,從遠(yuǎn)程倉庫拉取下所有數(shù)據(jù)放入 .git 文件夾,然后從中讀取最新版本的文件的拷貝。如果你進(jìn)入到這個(gè)新建的 libgit2 文件夾,你會發(fā)現(xiàn)所有的項(xiàng)目文件已經(jīng)在里面了,準(zhǔn)備就緒等待后續(xù)的開發(fā)和使用。如果你想在克隆遠(yuǎn)程倉庫的時(shí)候,自定義本地倉庫的名字,你可以使用如下命令:

$ git clone https://github.com/libgit2/libgit2 mylibgit

這將執(zhí)行與上一個(gè)命令相同的操作,不過在本地創(chuàng)建的倉庫名字變?yōu)?mylibgit。

Git 支持多種數(shù)據(jù)傳輸協(xié)議。上面的例子使用的是 https:// 協(xié)議,不過你也可以使用 git:// 協(xié)議或者使用 SSH 傳輸協(xié)議,比如 user@server:path/to/repo.git 。“在服務(wù)器上搭建 Git”將會介紹所有這些協(xié)議在服務(wù)器端如何配置使用,以及各種方式之間的利弊。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號