Вместо того, чтобы использовать псевдонимы, я предпочитаю создавать сценарии git-XXX, чтобы я мог легче контролировать их источники (у всех наших разработчиков есть определенный dir, управляемый источником на своем пути для этого типа вещей).
Этот скрипт (называемый git-setpush
) установит значение конфигурации для значения remote.origin.push
в значение, которое будет только выдвигать текущую ветвь:
#!/bin/bash -eu
CURRENT_BRANCH=$(git branch | grep '^\*' | cut -d" " -f2)
NEW_PUSH_REF=HEAD:refs/for/$CURRENT_BRANCH
echo "setting remote.origin.push to $NEW_PUSH_REF"
git config remote.origin.push $NEW_PUSH_REF
обратите внимание, поскольку мы используем Gerrit
, он устанавливает целевое значение на refs/for/XXX
для отправки в ветку обзора. Также предполагается, что origin - ваше удаленное имя.
Вызвать его после проверки ветки с помощью
git checkout your-branch
git setpush
Очевидно, что он может быть адаптирован и к оформлению заказа, но мне нравятся скрипты, которые делают одну вещь и делают это хорошо