我正在用Gerrit Code Review设置Git,并且正在寻找一种方法,使必要的Git命令对于可能是Git新手的用户来说相对简单。
我目前用来启动一个新特性分支的命令基本上是(假设Gerrit是origin
):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
这将启动一个从一些baseline
分支出来的新工作包work1234
,最后一次推送在Gerrit中创建分支并设置上游。所以.git/config
看起来像这样:
[branch "work1234"]
remote = origin
merge = refs/heads/work1234
现在,Gerrit希望将用于审查的新提交推送到一个特殊的refspec,例如refs/for/work1234
。我可以使用以下命令手动完成此操作:
git push origin work1234:refs/for/work1234
我想要做的是找到一些方法来设置.git/config
,这样一个普通的git push
就会将当前分支推送到Gerrit所需的遥控器上的refspec。我已经研究了以下git config
领域:
branch.<name>.*
-似乎没有任何特定的选项来设置推送refspecpush.default
-我有点想要hereremote.<name>.push
-我在这里尝试了upstream
refs/heads/*:refs/for/*
,但在这种情况下,git push
总是希望推送所有本地分支,而我只想要当前的分支如果我不能让Git自己做到这一点,我会写一个小的包装器脚本来完全指定refspecs。然而,如果Git能够在本地推送到正确的位置,那就更好了。
https://stackoverflow.com/questions/7101145
复制相似问题