我正在使用Gerrit Code Review设置 Git,并正在寻找一种方法,让可能是 Git 新手的用户能够相对简单地使用必要的 Git 命令。
我目前用于启动新功能分支的命令本质上是(假设 Gerrit 是origin
):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
work1234
这会启动一个从 some 分支的新工作包baseline
,最终推送会在 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
- 我有点想要upstream
这里remote.<name>.push
- 我refs/heads/*:refs/for/*
在这里尝试过,但在这种情况下git push
总是想推送所有本地分支,而我只想要当前分支
如果我不能让 Git 自己做到这一点,我将编写一个完全指定 refspecs 的小包装脚本。但是,如果 Git 可以原生推送到正确的位置会更好。