Как перебазировать ветку с предыдущего форка в одну команду?
383
Camsoft
Поэтому я пытаюсь придумать псевдоним ZSH для Git, который переместит мою текущую ветвь на ветку, из которой она была первоначально получена (разветвлена).
Примеры:
Даны следующие названия веток A
и B
. Если я время от времени создаю ветку B
путем разветвления, A
я бы хотел быть B
в курсе A
.
Чтобы сделать это вручную, я бы обычно делал:
git rebase A
Который погасит коммиты с точки форка B
на вершине A
.
Учитывая, что я хочу, чтобы команда делала это автоматически для любой ветки, над которой я работаю, это то, куда я направлялся:
git rebase --onto A B
Я считаю, что эта команда даст коммит точки форка:
git merge-base --fork-point A B
Итак, объединяя их:
git rebase --onto A $(git merge-base --fork-point A B) B
Как я могу написать это как общий псевдоним для ZSH, чтобы я мог просто позвонить, gr
и он определит текущую ветвь, разветвленную ветвь и т. Д.
Вы не можете указывать параметры в псевдонимах, но вместо этого можете использовать функцию: `gr () `. Это будет определено в одном из файлов запуска.
AFH 6 лет назад
2
Как бы я превратил это в псевдоним и затем назвал бы это?
Camsoft 6 лет назад
0
Вы не вызываете его как псевдоним: вы вызываете его как функцию, хотя вызов будет выглядеть одинаково; например, `gr AB` расширится до вашей последней объединенной команды.
AFH 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
3
Ускорение загрузки OS X на годичной MBP
-
3
Как повторно связать резервную копию Airport Time Machine после перехода на новый Mac?
-
6
Как вы отключите звук запуска на Mac?
-
-
5
Почему мой Macbook сильно нагревается при использовании Boot Camp?
-
7
Есть ли в Mac OS X эквивалент Ctrl + Tab?
-
6
Способ переноса данных Time Machine на новый диск
-
13
Сброс положения Mac OS X Windows после отсоединения внешнего монитора
-
10
Программное обеспечение для резервного копирования для Mac OS X
-
5
Как удалить и удалить .kext в Mac OS X?
-
4
Как переназначить клавишу извлечения на клавиатуре MacBook, чтобы «удалить»?