git版本1.7.1中git clone -c的旧命令是什么?

4

我需要运行一个命令通过git克隆我的项目。

然而,我的git版本比较旧;我的版本是1.7.1,并且不认识这个命令。它显示了error: unknown switch 'c'错误。

我的命令是:

$ git clone -c http.sslVerify=false https://myProject:password1@data.c-village.net/git/gerrit/hlbb/gib/

我认为在1.7.1版本中,-c不是一个有效的命令。其中一个解决方案是升级git。但是,我想问一下在1.7.1版本中执行相同操作的命令是什么。我用谷歌搜索过,但好像没有找到好的结果。


尝试使用 GIT_SSL_NO_VERIFY=true git clone https://example.com/path/to/git 命令进行克隆。我确认这个环境变量在1.7.1版本中被使用。(https://dev59.com/m2gu5IYBdhLWcg3wDS0G) - ymonad
2个回答

2
-c--config 标志(用于 git clone,不同于 git -c key=value clone)是 Git 1.7.7 中新增的。请参见 commit 84054f79de35015fc92f73ec4780102dd820e452。正如 VonCymonad 所说,在这种特定情况下,您可以使用 GIT_SSL_NO_VERIFY 来实现相同的效果,但在更一般的情况下,如果此配置值影响 Git 的操作并且没有其他方法及时设置它,您将不得不将 git clone 分解为其等效的组成部分:git initgit configgit remote addgit fetchgit checkout。(仅当存在 -c 选项时才需要 git config 步骤。)
在大多数情况下,git clone -c key=value url 可以被视为 git clone url 然后进入新的仓库并设置配置。但是对于这个特定的配置项来说,这种情况是不正确的。

1
< p > -c选项允许您为单个git命令设置本地配置。
在此示例中,它在克隆后进行设置。

在您的情况下,另一种选择是使用环境变量:

 GIT_SSL_NO_VERIFY=false git clone...

这个变量是在 Git 0.99.2 的 2005 年 7 月份的 commit 3dcb90f 中引入的。

问题是:除了检查您想要覆盖的本地设置是否有相应的环境变量供您设置之外,没有直接替代缺少 -c 的方法。

一旦您克隆了仓库,您可以进入该仓库,并执行本地的 git config 来保留设置。
尽管...我不建议这样做:检查 SSL 证书通常是一个好习惯。


实际上,这个特定的 -c 在克隆之后仍然存在。当然,普通的 git -c <key>=<value> 是不会持久化的,但是问题在于这里还没有存储库! - torek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接