В чем разница между откатом, резервом и полосой в плагине Mercurial Eclipse?

В чем разница между откатом элементов меню, отступ и полосой в плагине Mercurial Eclipse?

Можно ли удалить фиксацию в локальном репозитории без изменения файлов в моей рабочей области с помощью одной из этих трех команд?

Или есть другое решение, как я могу совершить и направить исправление на другую часть проекта? Моя текущая работа не закончена, и я не могу ее подтолкнуть. Но я должен проверить быстрое исправление для другой части проекта.

Единственное решение, которое я вижу, - создать второе рабочее пространство. Но это выглядит для меня излишним.

Ответ 1

Все эти команды взяты из самого Mercurial, и для них есть много хороших сравнений/контрастов. Однако здесь они кратко:

  • rollback: одноуровневое отмена. Отменит последнее нажатие или фиксация (может быть опасным)
  • backout: создать новый коммит, который является обратным для данного фиксации. Эффект Net - это отмена, но изменение остается в вашей истории.
  • strip: удалить (destroy) изменения из истории. Удаление набора изменений также удаляет все его дочерние элементы, поэтому его можно использовать только для обрезки истории, а не для удаления фрагмента.

Все три очень хорошо описаны здесь: http://www.selenic.com/mercurial/hg.1.html

На ваш вопрос 2 вы можете использовать strip, чтобы удалить последнюю фиксацию, и она не изменит ваши рабочие каталоги.

На ваш вопрос 3 вы можете легко внести изменения в другую часть этого проекта:

hg commit -m 'commit your half done work'
hg update OLDERCHANGESET # your working directory now is without the half-done-work
.. do that quickfix ...
hg commit -m 'quickfix'
hg push tip # this pushes the tip revision (latest) and its ancestors, but the half-don't work isn't an ancestor so it doesn't get pushed
hg update HALFDONEWORK # you can find the right revision number using "hg heads"

Это называется "анонимной веткой", и это очень распространенный способ работы. Вы завершаете функцию полузаполнения, но можете возобновить ее позже, и вам не нужно ее выталкивать.

Это отличное объяснение анонимных ветвей: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/#branching-anonymously