- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
看来很多人已经用 git init && git fetch
组合替换了 git clone
。这看起来相当愚蠢,不幸的是像 Jenkins 这样的工具不会为你做这件事。那么,为什么 git clone 不像 git fetch 那样采用 refspec?
具体来说,如果您希望在 Jenkins 上运行 gerrit 触发的构建任务,您需要确保工作空间存在,否则 jenkins 将无法 checkout 包含 gerrit 更改的修订版。这是因为 gerrit 使用的 ref 路径不在 git clone 获取的路径中。
最佳答案
git clone
可以通过通用--config
option 获取refspec
:
Set a configuration variable in the newly-created repository; this takes effect immediately after the repository is initialized, but before the remote history is fetched or any files checked out. [...] This makes it safe, for example, to add additional fetch refspecs to the origin remote.
例子:
git clone -c remote.origin.fetch=+refs/changes/*:refs/remotes/origin/changes/* https://gerrit.googlesource.com/git-repo
但是,我刚刚意识到对于 git version 2.12.2.windows.2
这对我来说并不像预期的那样工作,因为 changes
克隆时并没有真正获取 ref。它被正确地添加到 .git/config
,但我需要在克隆之后通过
cd git-repo
git fetch
编辑:结果是known bug .
关于git - 为什么 "git clone"不采用 refspec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644613/
根据git config的文档,支持以下两项: remote..fetch The default set of "refspec" for git-fetch(1). See git-fet
我一直在关注 this guide关于配置 GitLab 与 Jenkins 的持续集成。 作为流程的一部分,需要按如下方式设置 refspec:+refs/heads/*:refs/remotes/
我在 eclipse 中有一个基于 java 的动态 web 项目,它被放置在 git 下进行源代码控制。我想将这个项目上传到 bitbucket 中的存储库中。为此,我使用了命令下面- git re
查看this示例显示 refspecs 可以过滤目录/命名空间,如下所示: +refs/heads/qa/*:refs/remotes/origin/qa/* 但是我正在尝试优化提取,而我正在使用的
嗨,我想推送一些东西到特定的远程分支 我制作局部区域 git clone https://~~~.Something cd https://~~~.Something 我可以使用访问特定的分支 git
我在 GitHub 上创建了一个 repo。从网站创建了一个新分支(名为“anythingslider”)。 然后: cd /home/multiformeingegno git clone git@
我镜像了一个 git 存储库并删除了 application.properties包含来自 MyProject 的密码存储库。我可以看到 Deleted files 下的消息和我的文件名如下: $ j
考虑以下存储库。它有很多团队成员的私有(private)分支,都在 refs/heads/team/ 命名空间下,我不想获取,但我仍然想获取所有其余部分,包括任何可能是在 team 命名空间之外新创建
我正忙着整合 Jenkins 和 TFS。我第一次不成功的尝试是使用 Jenkins 的多分支管道设置和 TFS。因此,我的第二次尝试是使用带有参数的单个 Jenkins 构建来指定要构建的分支。 我
在当前的 Git 上,git push --force-with-lease origin +somebranch 和 git push --force-with-lease origin someb
我和几个 friend 在 GitLab 有个项目,当然有 master 分支,还有一些其他的。当我克隆存储库时,我还使用命令 git remote add upstream ... 创建了一个上游。
我在 cloufforge 上设置了一个新的 Git 存储库,但遇到了一些不寻常的问题。 When I do a git pull origin master From https://dndigit
如何通过单个命令获取有关 gerrit 更改的最新 refspec。我需要输出为“refs/changes/11/1234/4”。是否有相同的 git 命令 我知道结合 gerrit 查询和一些脚本的
Refspec 和 Branch specifier(默认为空) 有什么区别:在下面的 Jenkins 作业配置中: 我尝试在作业配置中设置 Refspec 选项: +refs/heads/maste
我从主分支创建了一个功能分支,并向我的分支添加并提交了一些更改。 现在我想把我的工作推送到远程仓库,但是失败了。我能做些什么来解决这个问题?谢谢。 当运行 git push 命令时,它没有询问我的密码
看来很多人已经用 git init && git fetch 组合替换了 git clone。这看起来相当愚蠢,不幸的是像 Jenkins 这样的工具不会为你做这件事。那么,为什么 git clone
这个问题在这里已经有了答案: Message 'src refspec master does not match any' when pushing commits in Git (128 个答案
使用 refspec 是一种获取远程分支并创建类似但具有给定名称的分支的便捷方法(或者反过来:创建一个具有与本地名称不同的给定名称的远程分支)。我对一件小事感到困惑——因为 pull 也会与当前分支
我已经使用我的 GitHub 帐户在 https://github.com/darKoram/sphero_tracker.git .到目前为止,它只包含一些 wiki 页面,但我已准备好上传我的代码
这个问题在这里已经有了答案: Message 'src refspec master does not match any' when pushing commits in Git (126 个答案
我是一名优秀的程序员,十分优秀!