有兩種取得 Git 項目倉庫的方法。 第一種是在現有項目或目錄下導入所有文件到 Git 中; 第二種是從一個服務器克隆一個現有的 Git 倉庫
[toc]
## 在現有目錄中初始化倉庫
如果你打算使用 Git 來對現有的項目進行管理,你只需要進入該項目目錄并輸入:
`$ git init`
該命令將創建一個名為 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中所有的必須文件,這些文件是 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 )。
克隆倉庫的命令格式是 `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` 。 在服務器上搭建 Git 將會介紹所有這些協議在服務器端如何配置使用,以及各種方式之間的利弊。
- 第一章 起步
- 1.1 關于版本控制
- 1.2 Git 簡史
- 1.3 Git 基礎
- 1.4 命令行
- 1.5 安裝 Git
- 1.6 初次運行 Git 前的配置
- 1.7 獲取幫助
- 1.8 總結
- 第二章 Git基礎
- 2.1 獲取 Git 倉庫
- 2.2 記錄每次更新到倉庫
- 2.3 查看提交歷史
- 2.4 撤消操作
- 2.5 遠程倉庫的使用
- 2.6 打標簽
- 2.7 Git 別名
- 2.8 總結
- 第三章 Git分支
- 3.1 分支簡介
- 3.2 分支的新建與合并
- 3.3 分支管理
- 3.4 分支開發工作流
- 3.5 遠程分支
- 3.6 變基
- 3.7 總結
- 第四章 服務器上Git
- 4.1 協議
- 4.2 在服務器上搭建 Git
- 4.3 生成 SSH 公鑰
- 4.4 配置服務器
- 4.5 Git 守護進程 TODO
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方托管的選擇
- 4.10 總結
- 第五章 分布式Git
- 5.1 分布式工作流程
- 第六章 GitHub
- 第七章 Git工具
- 第八章 自定義Git
- 第九章 Git于其他系統
- 第十章 Git內部原理
- 附錄A 其他環境中的Git
- A1.1 圖形界面 TODO
- A1.2 Visual Studio 中的 Git TODO
- A1.3 Eclipse 中的 Git
- 附錄B 將Git嵌入你的應用
- 附錄C Git命令
- 附錄D 常用命令
- D.1 配置和設置
- D.2 幫助
- D.3 創建和獲取倉庫
- D.4 文件狀態
- D.5 查看日志