学习git命令之clone

1 篇文章 0 订阅

git clone 将存储库克隆到新目录

 

1.git clone -v , --verbose【远程仓库地址】详细地运行。不影响向标准错误流报告进度状态。

2.git clone -q , --quiet 【远程仓库地址】安静地操作。进展不会报告给标准错误流。

3.git clone --progress 【远程仓库地址】除非指定了--quiet,否则默认情况下,将进度状态报告到标准错误流时会在标准错误流上报告。 即使标准错误流未定向到终端,该标志也会强制显示进度状态。

4.git clone  -n, --no-checkout【远程仓库地址】克隆完成后,不执行HEAD检出操作。

5.git clone --bare  【远程仓库地址】制作一个裸露的Git存储库。 也就是说,不要创建<directory>并将管理文件放置在<directory> /.git中,而是将<directory>本身设置为$ GIT_DIR。 显然这意味着--no-checkout,因为没有地方可以检出工作树。 同样,将远程的分支头直接复制到相应的本地分支头,而无需将其映射到ref / remotes / origin /。 使用此选项时,不会创建远程跟踪分支或相关的配置变量。

  

6.git clone --mirror 【远程仓库地址】设置源存储库的镜像。 这意味着裸露(--bare)。 与--bare相比,--mirror不仅将源的本地分支映射到目标的本地分支,还映射所有引用(包括远程跟踪分支,注释等),并设置一个refspec配置,以便所有这些引用 被目标存储库中的git远程更新覆盖。

7.git clone  -l, --local  【远程仓库地址】

当要从中克隆的存储库位于本地计算机上时,此标志会绕过常规的“ Git aware”传输机制,并通过在对象和引用目录下创建HEAD以及所有内容的副本来克隆存储库。 .git / objects /目录下的文件被硬链接以尽可能节省空间。

如果将存储库指定为本地路径(例如/ path / to / repo),则这是默认设置,而--local本质上是无操作的。 如果将存储库指定为URL,则将忽略此标志(并且我们永远不会使用本地优化)。 当给出/ path / to / repo时,指定--no-local将覆盖默认值,而改用常规Git传输。 https://github.com/SimplePoint/test.git

8.git clone --no-hardlinks【远程仓库地址】

强制从本地文件系统上的存储库进行克隆过程,以复制.git / objects目录下的文件,而不使用硬链接。 如果您要备份存储库,则这可能是理想的。

9.git clone -s,--shared【远程仓库地址】
当要克隆的存储库位于本地计算机上时,而不是使用硬链接,而是自动设置.git / objects / info / alternates与源存储库共享对象。生成的存储库开始时没有其自己的任何对象。

注意:这可能是危险的操作;除非您了解它的功能,否则不要使用它。如果使用此选项克隆存储库,然后在源存储库中删除分支(或使用任何其他Git命令使所有现有提交变为未引用),则某些对象可能会变为未引用(或悬空)。这些对象可以通过自动调用git gc --auto的常规Git操作(例如git commit)删除。 (请参阅git-gc(1)。)如果删除了这些对象并由克隆的存储库引用了这些对象,则克隆的存储库将损坏。

请注意,在使用--shared克隆的存储库中不使用--local选项运行git repack会将对象从源存储库复制到克隆存储库中的数据包中,从而节省了clone --shared节省的磁盘空间。但是,运行git gc是安全的,该默认情况下使用--local选项。

如果要打破在源存储库上用--shared克隆的存储库的依赖性,只需运行git repack -a即可将源存储库中的所有对象复制到克隆存储库中的包中

10.--recurse-submodules [= <pathspec]

创建克隆后,根据提供的pathspec初始化并克隆其中的子模块。 如果未提供pathspec,则将初始化并克隆所有子模块。 对于由多个条目组成的路径规范,可以多次赋予此选项。 所得的克隆将submodule.active设置为提供的pathspec或"." 。 (表示所有子模块)(如果未提供pathspec)。

子模块使用其默认设置进行初始化和克隆。 这等效于克隆完成后立即运行git子模块更新--init --recursive <pathspec>。 如果克隆的存储库没有工作树/签出(即如果给出了--no-checkout / -n,-bare或--mirror中的任何一个),则忽略此选项。

11.git clone  -j, --jobs <n>

同时获取的子模块数。 默认为submodule.fetchJobs选项。

12.git clone --template=<template_directory>

指定将使用模板的目录

13.git clone --reference [-if-able] 
如果参考存储库位于本地计算机上,则自动设置.git / objects / info / alternates从参考存储库获取对象。使用现有的存储库作为备用存储库将需要从要克隆的存储库中复制较少的对象,从而降低了网络和本地存储成本。使用--reference-if-able时,将跳过不存在的目录并显示警告,而不是中止克隆。

14.git clone --dissociate 【远程仓库地址】

从使用--reference选项指定的参考存储库中借用对象仅是为了减少网络传输,并在复制后通过制作借用对象的必要本地副本来停止从对象借用。当从已经从另一个存储库借用对象的存储库进行本地克隆时,也可以使用此选项-新存储库将从同一个存储库借用对象,并且该选项可用于停止借用。

15.git clone -o, --origin <name> 

而不是使用远程名称来源来跟踪上游存储库,请使用<name>。

16.git clone -b, --branch <name>

不要将新创建的HEAD指向克隆的存储库的HEAD所指向的分支,而是指向<name>分支。 在非裸仓库中,这是将被检出的分支。 --branch还可以获取标签并在结果存储库中的提交时分离HEAD。

17.git clone  -u, --upload-pack <path>

如果指定了要克隆的存储库,则通过ssh访问该存储库,这将为另一端运行的命令指定非默认路径。

18.git clone --depth <depth>

创建一个浅表克隆,其历史记录被截断为指定的提交数。 表示--single-branch,除非给出--no-single-branch来获取所有分支的尖端附近的历史记录。 如果要浅层克隆子模块,则还要传递--shallow-submodules。

19.git clone  --shallow-since <time>

在指定的时间之后,创建一个具有历史记录的浅表克隆。

20.git clone  --shallow-exclude <revision>

创建具有历史记录的浅表克隆,不包括可从指定的远程分支或标记到达的提交。 可以多次指定此选项。

21.git clone --single-branch

只克隆指向单个分支尖端的历史记录,该历史记录可以由——branch选项指定,也可以由主分支远程的头指向指定。进一步获取结果存储库将只更新远程跟踪分支,该分支用于初始克隆。如果在进行单分支克隆时,远程的头没有指向任何分支,则不会创建远程跟踪分支。

22.git clone --no-tags 

不要克隆任何标签,并设置remote。<remote> .tagOpt =-配置中没有标签,确保以后的git pull和git fetch操作不会跟随任何标签。 随后的显式标签提取仍将起作用,(请参阅git-fetch(1))。

可以与--single-branch一起使用,以克隆和维护除单个克隆分支外没有其他引用的分支。 这很有用,例如 维护某些存储库默认分支的最小克隆以进行搜索索引。

23.git clone  --shallow-submodules

克隆的所有子模块将变浅,深度为1。

24.git cline --separate-git-dir <gitdir>

与其将克隆的存储库放置在指定的目录中,不如将克隆的存储库放置在指定的目录中,然后在此处建立与文件系统无关的Git符号链接。 结果是可以将Git存储库与工作树分离。

25.git clone  -c, --config <key=value>

在新创建的存储库中设置配置变量; 这将在初始化存储库之后,但在获取远程历史记录或签出任何文件之前立即生效。 密钥的格式与git-config(1)预期的格式相同(例如,core.eol = true)。 如果为同一个键指定了多个值,则每个值都将写入配置文件。 例如,这可以安全地将其他提取refspec添加到原始远程服务器。

由于当前实施方式的限制,某些配置变量要等到初始获取和签出后才能生效。 已知无法生效的配置变量为:remote。<name> .mirror和remote。<name> .tagOpt。 请改用相应的--mirror和--no-tags选项。

26.git clone  --server-option <server-specific>

使用协议版本2进行通信时,将给定的字符串传输到服务器。给定的字符串不得包含NUL或LF字符。 服务器对服务器选项(包括未知选项)的处理是特定于服务器的。 当给出多个--server-option = <option>时,它们都将按照命令行中列出的顺序发送到另一端。

27.git clone  -4, --ipv4  

仅使用IPv4地址

28.git clone  -6, --ipv6 

仅使用 IPv6 地址

29.git clone  --filter <args> 

对象过滤

30.git clone --remote-submodules

任何克隆的子模块都将使用其远程跟踪分支

31.git clone  --sparse 

初始化稀疏检出文件以仅包含根目录下的文件

 

通过git clone -h 查看clone的命令提示,通过 git clone --help 查看文档 

前面几个命令试了试,后面就看了看意思,整理一下,只为学习。

 

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值