使用 Git 2.10 ,新选项[--push-option=]。创建裸存储库时,会在hooks目录中自动创建 post-receive.sample ,其中包含以下内容:
#!/bin/sh
#
# An example hook script to make use of push options.
# The example simply echoes all push options that start with 'echoback='
# and rejects all pushes when the "reject" push option is used.
#
# To enable this hook, rename this file to "pre-receive".
我尝试了以下步骤
git push --push-option=echoback=Hello_world
正如样本所说,它将Hello_world
放回我的终端。
Git Hook Manual表示我可以通过--push-option=
发送多个选项,可以通过GIT_PUSH_OPTION_0, GIT_PUSH_OPTION_1,...
查看,如手册所示。
我的问题是我应该如何通过多个选项?可以通过 --push-option=
尝试过的选项:
git push --push-option="echoback=Hello echoback=World"
git push --push-option="echoback=Hello;echoback=World"
git push --push-option="echoback=Hello&echoback=World"
git push --push-option="echoback=Hello%echoback=World"
git push --push-option="echoback=Hello,echoback=World"
答案 0 :(得分:2)
尝试以下方法:
git push --push-option="echoback=Hello" --push-option="echoback=World"
这将分隔--push-option
s
答案 1 :(得分:0)
Git 2.15.x / 2.16(2018年第一季度)澄清了多个推送选项的用法,添加了&#34; --push-option=<string>
&#34; &#34; git push
&#34;的选项现在默认为通过push.pushOption
变量配置的字符串列表。
所以你可以使用多个推送选项:
git push --push-option="a" --push-option="b"
或使用多个配置字符串
~/.gitconfig
push.pushoption = a
push.pushoption = b
commit d805275见Marius Paliga (``)(2017年10月23日)
(Junio C Hamano -- gitster
--合并于commit c692fe2,2017年11月6日)
builtin/push.c
:添加push.pushOption
config需要通过命令行明确给出推送选项&#34;
git push --push-option <option>
&#34;。
添加配置选项push.pushOption
,这是一个多值选项,包含默认发送的推送选项。在优先级较低的配置文件中设置推送选项时 (例如
/etc/gitconfig
或$HOME/.gitconfig
),稍后可能会将其取消 空字符串更具体的存储库配置。