Я настраиваю Git с помощью Gerrit Code Review и ищу способ сделать необходимые команды Git относительно простыми для пользователей, которые могут быть новичками в Git .
В настоящее время у меня есть команды для запуска новой функциональной ветки по существу (при условии, что Геррит origin
):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
Это запускает новый рабочий пакет work1234
, ответвленный от некоторого baseline
, а последний толчок создает ветвь в 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 на пульте дистанционного управления, который требует Gerrit. Я просмотрел следующие области git config
:
ветка. . *
- похоже, нет какой-либо конкретной опции для установки push refspec push.default
- Я как бы хочу вверх по течению
здесь remote. .push
- Я пробовал refs / Head / *: refs / for / *
здесь но git push
всегда хочет отправить все локальные ветки в этом случае, а мне просто нужна текущая ветка Если я не могу заставить Git делать это само по себе, я напишу небольшой сценарий оболочки, который полностью определяет refspecs. Однако было бы лучше, если бы Git мог напрямую перемещаться в нужное место.