Git псевдоним на текущей ветке
Я хотел бы улучшить свои текущие псевдонимы, большинство из них работают над веткой. Есть ли способ сослаться на текущую ветку в псевдониме git, поэтому мне не нужно каждый раз передавать ее?
как этот:
git config alias.po "push origin"
это использовать это так:
git po foo_branch
Я хотел бы просто бежать git po
и это взять текущую ветку в качестве параметра.
4 ответа
Этот ответ будет действительным, начиная с Git 2.0, где поведение push по умолчанию будетsimple
Если не push.default
настройка установлена на matching
, git push
без указания аргумента всегда будет выдвигать текущую ветвь, поэтому в этом случае вам не нужно указывать ее.
[alias]
po = "!git push --set-upstream origin \"$(git rev-parse --abbrev-ref HEAD)\""
git symbolic-ref --short HEAD
печатает текущую ветку, так что вы можете определить простой псевдоним оболочки:
alias gpo='git push origin "$(git symbolic-ref --short HEAD)"'
Из вашего вопроса не на 100% ясно, какой из этих двух псевдонимов вам нужен.
Это подтолкнет проверенную ветку:
git config alias.po !f() { export tmp_branch=`git branch | grep '* ' | tr -d '* '` && git push origin $tmp_branch; unset $tmp_branch; }; f
Это подтолкнет заданное имя ветви (git po branchName
):
git config alias.po !f() { git push origin $1; }; f