git checkout
(или git switch
в Git 2.23 и более поздних версиях) имеет сокращенный синтаксис для «ранее извлеченной ветви»:
@{-1}
означает «одна ветка извлечена a go ", с:
@{-2}
означает" ветвь проверила два a go "и так далее. -
само по себе:
git checkout -
означает то же самое, что и @{-1}
, для краткости.
(Не существует удобного способа перечисления этих, хотя.)
Тем не менее, вы, вероятно, делаете слишком много работы
Вам не нужно , чтобы обновить master
, если вы его не используете.
Предположим, вы работаете над веткой feature
, и кто-то сделал новые master
коммиты в origin
, и вы будете sh объединяться или перебазировать их.
Вы может сделать это:
# make sure everything is committed
$ git checkout master
$ git pull # runs git fetch and then git merge
$ git checkout - # back to feature
$ git merge master
но вы можете сделать это вместо этого:
$ git fetch
$ git merge origin/master
Если вы используете рабочий процесс rebase, это:
$ git fetch
$ git rebase origin/master
Обратите внимание на полное отсутствие git checkout
шагов. Нам не нужно обновлять master
; на самом деле нам даже не нужен master
, и мы можем запустить git branch -d master
, чтобы полностью его убрать.