我使用Gerrit Code Review來設置Git,並正在尋找一種方式來爲那些可能是Git新手的用戶提供必要的Git命令。如何在配合Gerrit使用時爲Git配置特定的上游push refspec?
開始一個新的特性分支基本上是我目前擁有的命令(假設格里特是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
現在,格里特要審覈新提交被推到一個特殊的Refspec,refs/for/work1234
例如。我可以手動執行此操作:
git push origin work1234:refs/for/work1234
我想要做的就是找到一些方法來建立.git/config
使一個普通的git push
將當前分支推到的Refspec是格里特需要遙控器上。我已經看着下面git config
方面:
branch.<name>.*
- 似乎沒有任何具體的選項設置推送的Refspecpush.default
- 我有點想upstream
這裏remote.<name>.push
- 我試過refs/heads/*:refs/for/*
這裏只是git push
總想推全部本地分支在這種情況下,我只想目前分支
如果我不能讓Git自己做這個,我會寫一個小的包裝腳本來完全指定refspecs。但是,如果Git能夠原生地推到正確的位置,那將會更好。
如果我總是想推到一個固定的目的地,比如'refs/for/master',會不會有一個簡單的git-only解決方案? ([這裏是](http://stackoverflow.com/questions/29664305/equivalent-of-branch-name-merge-for-git-push)我的SO問題問你問題的簡單版本。) – Pradhan