Git:git clone命令詳解
最近更新時間 2020-01-02 12:16:41
git clone命令用於克隆現有的倉庫。
如果想獲取一份已經存在的Git倉庫拷貝,需要用到git clone
命令。與其他VCS系統(比如説 Subversion),Git 克隆的是該 Git 倉庫服務器上的幾乎所有數據,而不是僅僅複製完成你的工作所需要文件。當你執行 git clone
命令的時候,默認配置下遠程 Git 倉庫中的每一個文件的每一個版本都將被拉取下來。
語法
git clone [url]
常用命令
1. 克隆 Git 的可鏈接庫 libgit2。
git clone https://github.com/libgit2/libgit2
Cloning into 'libgit2'... remote: Enumerating objects: 97755, done. remote: Counting objects: 100% (97755/97755), done. remote: Compressing objects: 100% (26444/26444), done. remote: Total 97755 (delta 69581), reused 97727 (delta 69553), pack-reused 0 Receiving objects: 100% (97755/97755), 48.33 MiB | 857.00 KiB/s, done. Resolving deltas: 100% (69581/69581), done.
完成後會在當前目錄下創建一個名為 “libgit2” 的目錄,並在這個目錄下初始化一個 .git 文件夾,從遠程倉庫拉取下所有數據放入 .git 文件夾,然後從中讀取最新版本的文件的拷貝。如下所示:
ls -al
drwxr-xr-x. 8 root root 163 Jan 2 11:16 .git drwxr-xr-x. 2 root root 28 Jan 2 11:16 .github -rw-r--r--. 1 root root 372 Jan 2 11:16 .gitignore drwxr-xr-x. 3 root root 32 Jan 2 11:16 include -rw-r--r--. 1 root root 15275 Jan 2 11:16 README.md
2. 自定義本地倉庫的名字。
git clone https://github.com/libgit2/libgit2 mylibgit
Cloning into 'mylibgit'...
remote: Enumerating objects: 97755, done.
remote: Counting objects: 100% (97755/97755), done.
remote: Compressing objects: 100% (26444/26444), done.
remote: Total 97755 (delta 69581), reused 97727 (delta 69553), pack-reused 0
Receiving objects: 100% (97755/97755), 48.33 MiB | 857.00 KiB/s, done.
Resolving deltas: 100% (69581/69581), done.
跟上一命令相似,不過在本地創建的倉庫名字變為 mylibgit。
3. 指定用户名和密碼。
HTTP協議的用户名/密碼授權
git clone https://username:password@uri
Note:如果用户名或密碼中包含“@”,需要先進行轉義。
4. 設置替換URL。
git config --global --add url."[email protected]:".insteadOf "https://github.com/"
git config --list
user.name=username [email protected] [email protected]:.insteadof=https://github.com/
取消設置替換
git config --global --unset url."[email protected]:".insteadOf
Git 支持多種數據傳輸協議。 包括 https:// 協議、git:// 協議或者使用 SSH 傳輸協議,比如 [email protected]:libgit2/libgit2.git。