Я настраиваю Git с помощью Gerrit Code Review и ищу способ сделать необходимые команды Git относительно простыми для пользователей, которые могут быть новичками в Git.
КомандыЯ в настоящее время для запуска новой функциональной ветви по существу (при условии, что Геррит origin
):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
Это запускает новый рабочий пакет work1234
, разветвленный от некоторого baseline
, и последний толчок создаетветвь в Геррите и устанавливает верхний поток.Так что .git/config
выглядит примерно так:
[branch "work1234"]
remote = origin
merge = refs/heads/work1234
Теперь Геррит хочет, чтобы новые коммиты для проверки были переданы в специальную ссылку, например refs/for/work1234
.Я могу сделать это вручную с помощью:
git push origin work1234:refs/for/work1234
Я хотел бы найти способ настроить .git/config
, чтобы обычный git push
выдвигал текущую ветку к refspec на удаленномчто требует Геррит.Я рассмотрел следующие git config
области:
branch.<name>.*
- кажется, не имеет какой-либо конкретной опции для установки push refspec push.default
- Я сортируюof хотеть upstream
здесь remote.<name>.push
- я пробовал refs/heads/*:refs/for/*
здесь, но git push
всегда хочет протолкнуть все локальные ветви в этом случае, тогда как я просто хочу current branch
Если я не могу заставить Git делать это самостоятельно, я напишу небольшой скрипт-обертку, который полностью определяет refspecs.Тем не менее, было бы лучше, если бы Git мог изначально перемещаться в нужное место.