我喜欢将默认的推送策略保留在/var/opt/mssql/log
上,但有时我需要修改多个分支,然后推送所有分支,即我需要将策略设置为{{1} }。
当一个接一个的分支完成时,会产生很多噪音并花费时间。我的另一个选择是为该存储库临时设置推送策略,执行推送,然后将其设置回默认值。这让我想知道是否有一种方法可以为与git merge策略类似的单个推送指定推送策略?
注意:我知道推送选项current
,但我也有一些本地分支不打算被推送。
答案 0 :(得分:1)
我认为“推策略”是指push.default
的设置(与current
和matching
一起使用)。
要在运行一条Git命令的同时覆盖某些Git配置变量的配置设置,请使用:
git -c <name>=<value> command
例如git -c push.default=matching push
。
但是请注意,push.default
仅影响 一个不会在命令行上列出引用的git push
。通常,出于脚本目的,构造您要做要推送的refspec集合,然后将它们作为参数传递可能更明智:
pushargs=
for b in ...; do
if want-to-push $b; then
pushargs="$pushargs $b"
fi
done
if [ -n "$pushargs" ]; then git push $remote $pushargs; fi
例如,(假设已经设置了$remote
,并且...
部分有一些显而易见的填充方法)。另外,如果您的意思是matching
,则特殊的refspec :
表示:
git push origin :
例如。