Создать коммит, чтобы перезаписать текущее содержимое ветки другим - PullRequest
12 голосов
/ 16 февраля 2012

Я хотел бы создать один коммит, который сделает текущую ветвь идентичной по содержанию (и неявно синхронизированной) с другой ветвью.

Это практически эквивалентно копированию, вставляющему содержимое извлечения другой ветви поверх текущей ветви и фиксирующему все за один раз.

1 Ответ

18 голосов
/ 16 февраля 2012
$ git reset --hard <another branch>
$ git reset --soft HEAD@{1}
$ git commit

При первом (жестком) сбросе содержимое другой ветви переносится в ваш рабочий каталог. Второй (мягкий) сброс помещает ваш указатель фиксации обратно на кончик вашей исходной ветви, но не изменяет файлы в вашем индексе вообще, оставляя их, как они были в другой ветви. Затем вы можете зафиксировать это состояние поверх последнего коммита вашей текущей ветки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...