Я просто начинаю с Подвижным, и я столкнулся с чем-то, что я не понимаю.
Я внес изменения в несколько файлов, и теперь я хочу отменить все изменения, которые я внес в одного из них (т.е. вернитесь к моей последней фиксации для одного определенного файла).
Насколько я вижу, команда, которую я хочу, возвращаются.
На странице я связался с, существует следующее утверждение:
Эта операция однако не изменяет родительский пересмотр рабочего каталога (или изменения в случае незафиксированного слияния). Для отмены незафиксированного слияния можно использовать "hg, обновляют-C-r". который сбросит родителей к первому родителю.
Я не понимаю различия между двумя (hg revert
по сравнению с. hg update -C -r
). Кто-либо может просветить меня относительно различия? И в моем случае, я действительно хочу возвращение, или обновление для движения избавляются от изменений, которые я внес в файл?
Первое отличие состоит в том, что возврат может работать с подмножеством рабочей копии, а обновление работает со всей рабочей копией. Другое отличие состоит в том, что происходит, когда вы хотите вернуться к версии, отличной от последней зафиксированной.
если у нас есть ревизии (заглавные буквы зафиксированы, нижний регистр - изменения в рабочей копии, родительская ревизия - C)
A-B-C-d
update -C -r B
даст вам
A-B-C
с вашей рабочей копией, установленной на B, любые изменения приведут к ветвлению от B (родительская ревизия установлена на B)
A-B-C
\e
revert -r B
даст вам
A-B-C-b'
, где b '- это набор изменений, который отменяет все промежуточные зафиксированные изменения, в этом случае он отменяет все C. любые изменения теперь просто присоединяются к набору b '(родительская ревизия остается неизменной в C)