Ram*_*r D 633
下面的命令(git版本1.8.3)将浅层克隆转换为常规克隆
git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)
然后,访问原点上的所有分支(感谢评论中的@Peter)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Run Code Online (Sandbox Code Playgroud)
svi*_*ick 63
您可以运行git fetch --depth=1000000(假设存储库提交的次数少于一百万次).
Vic*_*nko 17
我需要深化一个只有特定提交的回购.
阅读之后man git-fetch,我发现一个人无法指定提交,但可以指定一个日期:
git fetch --shallow-since=15/11/2012
Run Code Online (Sandbox Code Playgroud)
对于那些需要逐步深化的人,另一个man引用:
Run Code Online (Sandbox Code Playgroud)--deepen=<depth>与--depth类似,不同之处在于它指定了当前浅边界而不是每个远程分支历史记录的提交数.
小智 5
两种方式实现从浅克隆到深克隆。:
使用以下步骤下载分支:(这会下载分支的浅拷贝,然后将其转换为完整克隆,即带来完整的分支及其历史记录)。
一种。git clone -b 分支http://git.repository/customSP01.git --depth 1
这是一个浅克隆(使用深度选项)只获取一个分支(在您请求的深度)。
b. cd customSP01
c. git fetch –depth=100
d. get fetch –depth=500
....
e. git fetch –unshallow
Run Code Online (Sandbox Code Playgroud)
//上面的命令会将浅克隆转换为常规克隆。然而,这并没有带来所有的分支:
然后,访问所有分支。
f. git remote set-branches origin '*'
Run Code Online (Sandbox Code Playgroud)
[此步骤也可以通过编辑 .git/config 中的以下行来手动完成。
fetch = +refs/heads/master:refs/remotes/origin/master
到(用 * 替换 master):
fetch = +refs/heads/*:refs/remotes/origin/* ]
g. git fetch -v
Run Code Online (Sandbox Code Playgroud)
这会将浅克隆转换为具有所有历史和分支详细信息的深克隆。
如果您使用以下命令而不是步骤 a 中的命令,则可以避免步骤 f 和 g。做浅克隆:
git clone -b branch --no-single-branch http://git.repository/customSP01.git --depth 1
| 归档时间: |
|
| 查看次数: |
57663 次 |
| 最近记录: |