#git
#git
Вопрос:
Я создал простой псевдоним, который выполнит отправку в origin, а затем проверит ветку dev
это все
origin-push = !git push origin amp;amp; git checkout develop
Я хотел бы добавить проверку для выполнения только if на главном сервере ветки, в противном случае просто отобразите простое сообщение. Как это сделать?
— Пользователь Windows—
Комментарии:
1. функция bash в вашем .bashrc (если bash доступен в вашем контексте, конечно)? Примечание о Windows: если вы используете Git для Windows, он включает в себя возможности bash.
Ответ №1:
-
То, что идет после ‘!’, является сценарием оболочки. Вы можете добавить все, что пожелаете, в этой командной строке.
-
Одним из способов просмотра названия вашей текущей ветки является :
git rev-parse --abbrev-ref HEAD
Итак, что-то вроде :
! [ "$(git rev-parse --abbrev-ref HEAD)" = "master" ] amp;amp; ...
должно работать
полная команда (спасибо @ phd) :
origin-push-master = ![ "$(git rev-parse --abbrev-ref HEAD)" = "master ] amp;amp;
git push origin amp;amp; git checkout develop ||
echo The current branch is not master >amp;2
Если это действие становится слишком сложным, чтобы быть простым однострочным, альтернативой простому псевдониму является :
создайте скрипт с именем git-origin-push
, который должен быть доступен из вашего $PATH
.
Комментарии:
1. Позвольте мне написать это полностью:
origin-push-master = ![ "$(git rev-parse --abbrev-ref HEAD)" = "master ] amp;amp; git push origin amp;amp; git checkout develop || echo The current branch is not master >amp;2
2. @MCR : действительно, чего-то не хватало
"
. исправлено