我是使用Capistrano的新手。我正确设置了它,但是当我运行cap staging deploy时,我得到了这个 -
DEBUG [b678d5eb] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/myproj/git-ssh.sh /usr/bin/env git ls-remote -h )
DEBUG [b678d5eb] usage: git ls-remote [--heads] [--tags] [-u <exec> | --upload-pack <exec>] <repository> <refs>...
DEBUG [b678d5eb] Finished in 0.325 seconds with exit status 129 (failed).
我认为git clone url应该在-h之后,但我不确定。
我正在使用Capistrano 3.2.1。这是我的deploy.rb -
lock '3.2.1'
set :application, 'myproj'
set :repository, 'https://vrao@git.test.com/scm/~vrao/myproj.git'
set :scm_passphrase, 'blah'
任何帮助都会很棒。
答案 0 :(得分:11)
没关系,我正在关注capistrano 2x的文档,而我已经安装了3.2.1。
对于可能面临相同问题的任何人,在capistrano 2x中,您可以通过设置存储库变量来指定git repo,而在3x中,它已被更改为repo_url。我改变它,现在它工作正常。这是我建议遵循3x的文档 - http://capistranorb.com/documentation/getting-started/installation/
答案 1 :(得分:0)
git clone
URL应该在-h
之后,但是我不确定。
确实,您已经找到了为什么您的网址为空(错误的capistrano版本)
在这种情况下,使用消息是(-h
,meaning --heads
,没有 URL)。
Git 2.25.2(2020年3月)中对此进行了记录。
像其他任何Git子命令一样,“ git ls-remote -h
”和“ git grep -h
”都提供了简短的用法帮助,但是可以期望前者的行为与“ git ls-remote --head
”相同(后者没有其他明智的行为。
文档已更新,试图对此进行澄清。
请参见commit 1ff466c的Junio C Hamano (gitster
)(2020年2月27日)。
(由Junio C Hamano -- gitster
--在commit cdef998中合并,2020年3月11日)
Documentation
:澄清一下,-h
独自代表help
我们似乎正在吸引新用户,他们每20个月左右就会对此“
-h
”感到困惑,他们一直希望提供帮助,但是-h
所使用的命令似乎是一个很好的简短形式选择要它代表其他意思。”妥协。让我们确保读者知道
git cmd -h
(没有其他参数)是一种获取用法文本的方法,即使对于ls-remote
和{{1 }}。还扩展了
grep
中已经存在的描述,因为很明显,用户仍然会对当前文本感到困惑。
git ls-remote
documentation现在包括:
请注意,
gitcli.txt
在命令行上未作任何使用会提供帮助,与其他git子命令一致。
还有gitcli:
请注意,当命令行中除了
git ls-remote -h
以外的其他内容时,某些子命令(例如git grep -h xxx
)的行为可能会有所不同,但是-h
的含义是:始终如一地给出用法。