Чрезвычайно ленивый здесь, не люблю печатать слишком много и особенно не люблю вспоминать, в какую ветку я вхожу, чтобы тянуть и толкать к. Слишком часто я делаю ошибку, делая git pull
из ветки, не являющейся главной, или, что еще хуже, делаю push, и целевая ветвь неверна, и я остаюсь с невыдвинутыми или незафиксированными изменениями.
Я создал в своем .bashrc
следующие псевдонимы, чтобы помочь:
alias gitr='git status | grep -Po "On branch \K[^ ]+" | xargs git push origin'
Таким образом, выполнение gitr
в любом git-репо подтолкнет зафиксированные изменения в правильную ветку.
Аналогично делать:
alias gitp='git status | grep -Po "On branch \K[^ ]+" | xargs git pull origin'
извлечет последние изменения из правильной ветки, в которой я сейчас нахожусь.
Наконец, этот изменит все локальные изменения как «Косметика» и перенесет их в правильную ветвь:
alias gitcr='git commit -a -m "Cosmetics" && git status | grep -Po "On branch \K[^ ]+" | xargs git push origin'
Есть ли способ распечатать все промежуточные команды без печати в каждой? и есть ли способ сделать эти команды более надежными?
ОБНОВЛЕНИЕ печатью промежуточных команд Я хочу показать следующее, чтобы убедиться, что он выполняет правильные команды:
git status
git pull origin somebranch