有兩種取得 Git 項目倉庫的方法。 第一種是在現有項目或目錄下導入所有文件到
Git 中; 第二種是從一個服務器克隆一個現有的 Git 倉庫。
在現有目錄中初始化倉庫
如果你打算使用 Git 來對現有的項目進行管理,你只需要進入該項目目錄並輸入:
$
git init
該命令將創建一個名爲 .git
的子目錄,這個子目錄含有你初始化的 Git 倉庫中所有的必須文件,這些文件是 Git
倉庫的骨幹。 但是,在這個時候,我們僅僅是做了一個初始化的操作,你的項目裏的文件還沒有被跟蹤。
如果你是在一個已經存在文件的文件夾(而不是空文件夾)中初始化 Git 倉庫來進行版本控制的話,你應該開始跟蹤這些文件並提交。 你可通過 git
add
命令來實現對指定文件的跟蹤,然後執行 git commit
提交:
$
git add *.c$
git add LICENSE$
git commit -m'initial project version'
現在,你已經得到了一個實際維護(或者說是跟蹤)着若干個文件的 Git 倉庫。
克隆現有的倉庫
如果你想獲得一份已經存在了的 Git 倉庫的拷貝,比如說,你想爲某個開源項目貢獻自己的一份力,這時就要用到 git
clone
命令。 如果你對其它的 VCS 系統(比如說Subversion)很熟悉,請留心一下你所使用的命令是"clone"而不是"checkout"。 這是 Git 區別於其它版本控制系統的一個重要特性,Git 克隆的是該 Git 倉庫服務器上的幾乎所有數據,而不是僅僅複製完成你的工作所需要文件。 當你執行 git
clone
命令的時候,默認配置下遠程 Git 倉庫中的每一個文件的每一個版本都將被拉取下來。 事實上,如果你的服務器的磁盤壞掉了,你通常可以使用任何一個克隆下來的用戶端來重建服務器上的倉庫(雖然可能會丟失某些服務器端的掛鉤設置,但是所有版本的數據仍在)。
克隆倉庫的命令格式是 git clone [url]
。 比如,要克隆
Git 的可鏈接庫 libgit2,可以用下面的命令:
$
git clone https://github.com/libgit2/libgit2
這會在當前目錄下創建一個名爲 “libgit2” 的目錄,並在這個目錄下初始化一個 .git
文件夾,從遠程倉庫拉取下所有數據放入 .git
文件夾,然後從中讀取最新版本的文件的拷貝。
如果你進入到這個新建的 libgit2
文件夾,你會發現所有的項目文件已經在裏面了,準備就緒等待後續的開發和使用。
如果你想在克隆遠程倉庫的時候,自定義本地倉庫的名字,你可以使用如下命令:
$
git clone https://github.com/libgit2/libgit2 mylibgit
這將執行與上一個命令相同的操作,不過在本地創建的倉庫名字變爲 mylibgit
。
Git 支持多種數據傳輸協議。 上面的例子使用的是 https://
協議,不過你也可以使用 git://
協議或者使用
SSH 傳輸協議,比如 user@server:path/to/repo.git