Перебазировать один коммит в HEAD - PullRequest
0 голосов
/ 02 марта 2019

Я хотел бы переименовать данный коммит в HEAD моей текущей ветки.Конечно, я могу использовать git rebase -i <future-head-SHA>~ и затем переместить его в HEAD (как описано в этот вопрос ), но я хочу автоматизировать этот процесс.

Есть ли хороший способ сделать это?

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

git rebase commit-id

Эта команда сделает всю работу за вас.

0 голосов
/ 02 марта 2019

Не совсем.Интерактивная перебазировка - единственный инструмент, предназначенный для подобных вещей.Вы можете, гипотетически, написать это, хотя:

  • Напишите скрипт, который читает список rebase -i инструкций из файла, переданного в качестве первого аргумента - файла, который вы обычно можете редактировать самостоятельно.в редакторе - и записывает переупорядоченный список обратно в этот файл.
  • Скажите Git использовать этот сценарий в качестве редактора при запуске интерактивной перебазировки, чтобы он переписывал инструкции по перебазировке вместо того, чтобы позволятьВы редактируете их вручную.

Следующее должно работать, если у вас установлен GNU sed (другие выпуски sed обычно не поддерживают флаг -i):

GIT_SEQUENCE_EDITOR="sed -i -e '1 {h; d}; $ {p; g}'" git rebase -i <commit>~
...