增加 Shallow Clone 说明.

Signed-off-by: rick.chan <cy@sina.com>
This commit is contained in:
rick.chan 2024-03-02 10:56:05 +08:00
parent a8e43f6527
commit c21ee6b84d
1 changed files with 27 additions and 0 deletions

View File

@ -365,6 +365,33 @@ Git Clone 支持使用 http、https、ssh 等协议:
![使用 SSH 协议进行 Clone](./img/Git_使用说明/git-clone-through-ssh.gif) ![使用 SSH 协议进行 Clone](./img/Git_使用说明/git-clone-through-ssh.gif)
有的代码仓库比较大提交次数多Clone 仓库时不需要下载全部提交历史,此时可以使用 --depth 参数指定 Clone 深度,也就是 Shallow Clone 方式:
```bash
git clone --depth <n>
```
其中 n 是要 Clone 的深度,也就是从 HEAD 开始计算的提交次数,比如:
```bash
git clone --depth 3
```
此时 Clone 下来的仓库只包含最新的 3 次提交历史。
当使用 Shallow Clone 的仓库进行代码提交时可能会出现:
```bash
! [remote rejected] xxx -> xxx (shallow update not allowed)
```
此时需要 fetch 原仓库的全部内容,将 Shallow 转换为非 Shallow 仓库来解决问题:
```bash
# <repository url> 为原仓库地址
git fetch --unshallow <repository url>
```
### 3.5. 提交变更 ### 3.5. 提交变更
在修改代码或相关文件后,需要先将变更缓存到本地,这一步被称作 Commit。带签名的提交命令如下 在修改代码或相关文件后,需要先将变更缓存到本地,这一步被称作 Commit。带签名的提交命令如下