如何为单个git push指定策略

时间:2018-07-30 09:44:03

标签: git git-push

我喜欢将默认的推送策略保留在/var/opt/mssql/log上,但有时我需要修改多个分支,然后推送所有分支,即我需要将策略设置为{{1} }。

当一个接一个的分支完成时,会产生很多噪音并花费时间。我的另一个选择是为该存储库临时设置推送策略,执行推送,然后将其设置回默认值。这让我想知道是否有一种方法可以为与git merge策略类似的单个推送指定推送策略?

注意:我知道推送选项current,但我也有一些本地分支不打算被推送。

1 个答案:

答案 0 :(得分:1)

我认为“推策略”是指push.default的设置(与currentmatching一起使用)。

要在运行一条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 :

例如。

相关问题