Для начала, обновление -r 1 отменит ревизии 2 и 3 в вашем рабочем каталоге, тогда как возврат -r 1 --merge отменит ревизию 1, сохранив ревизии 2 и 3. Но есть более фундаментальное отличие:
update
проверяет более старую ревизию в вашем рабочем каталоге, тогда как backout создает новую (но обычно вы фиксируете после слияния выше). Попробуйте запустить glog
после каждого из них, чтобы посмотреть график изменений:
перед:
0 - 1 - 2 - @3
после возврата:
0 - @1 - 2 - 3
после возврата --merge; совершить
0 - 1 - 2 - 3 - @5
\- 4 - - - /
Поскольку обратный эффект влияет только на рабочий каталог, он невидим для любого пользователя, который клонирует ваш репозиторий. Они окажутся в 3 до и после возврата. Принимая во внимание, что после возврата они заканчиваются на 5, который не имеет изменений, сделанных на 1.