Черепаха Mercurial - объединить 2 коммитов - PullRequest
1 голос
/ 23 апреля 2020

Я начинаю использовать Mercurial:

1.) Я извлек последние обновления из publi c (центрального) хранилища (ревизия 3029)

2. Работая над кодом, Я сделал коммит - ревизия 3030

3.) Некоторая дополнительная работа, и - я сделал еще один коммит 3031.

Итак, оба моих коммита 3030 и 3031 находятся в локальном репозитории. На этом этапе мой локальный репозиторий выглядит следующим образом

enter image description here

В Центральном репозитории нет коммитов других людей.

Я закончил в этот момент и отправьте код для проверки кода - мой рецензент говорит мне, что должен быть только один коммит. Мне нужно «избавиться» от коммита в ревизии 3030 и сохранить ревизию 3031.

Если я ревизую 30 ревизию 3030, она удалит как 3030, так и 3031. (Я знаю, как восстановить из резервное копирование, поэтому я ничего не потерял. Я восстановил обратно).

как можно объединить ревизию 3030 и 3031 в один коммит, используя Tortoise HG?

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Использование Rebase.

первое включение rebase

Затем выберите нижний / самый старый коммит и нажмите rebase.

enter image description here

На экране параметров перебазирования выберите свернуть.

enter image description here

Вам будет предложено ввести новое сообщение о коммите. .

1 голос
/ 23 апреля 2020

Использование Revert All Files.

Один простой способ, если у вас нет незафиксированных изменений в вашем рабочем каталоге.

обновите коммит до изменений, которые вы хотите squa sh.

update to the commit before the changes you want to squash

щелкните правой кнопкой мыши на последнем коммите и выберите «Вернуть все файлы ...». Это устанавливает рабочее состояние вашего каталога, чтобы как если бы вы были обновлены до последнего коммита.

right click on latest commit

Теперь просто сделайте новый коммит, содержимое которого будет последними двумя коммитами.

Затем вы можете использовать «полоску», чтобы удалить ненужную ветвь. (или просто измените фазу на секретную, чтобы предотвратить ее случайное нажатие)

...