Вопрос

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

o Смежения: 134: 7F81764AA03A | Теги: Совет | Родитель: 128: 451D8A19edea | Резюме: Отсутствие изменений 451D8A19edea | |. @ Смешивания: 133: 5eefa40e2A29 | |. Резюме: (Изменение, которое мне нужно сохранить) | |. * SNIP 3 коммит * | o Смежения: 129: 5F6182A97D40 | / Сводка: (Изменение, которое мне нужно сохранить) | o Смежения: 128: 451D8A19edea | Резюме: (Изменение, которое ввело основную проблему) | o Смежения: 127: 4F26DC55455D | Резюме: (Резюме не имеет значения для этого вопроса)

Если я понимаю это правильно, R127 и R134 точно так же. Когда я hg up -C -r 133 а потом бежать hg merge, Мелд всплывает с тремя формами одного из моих файлов: локальный, база и другие. Местные, кажется, R133, но мне трудно упасть голову вокруг какой «базы» и «другой».

Это было полезно?

Решение

Местный это R133.

Другой это R134.

Основание R128 (общий предком как на R133, так и R 134)

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

Другие советы

Ваш вопрос действительно запутается, но вот некоторая информация, которая может помочь вам.

  • Что такое база?

База - немодифицированная версия ревизии, которую вы в настоящее время проверили и работали. Там, где, возможно, другие изменения выключены (вы можете внести изменения между вашей текущей местной и базой!). Это только где ближайшая редакция, где ни одна другая вилка не отказалась от после этого (та же родитель) (в вашем случае R128)

  • Что такое голова?

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

  • Что местно?

Local - ваша модифицированная версия (в вашем случае R133)

  • Что еще?

Другое - это какая-то вилка / ветвь, которая также имеет вашу базу как родитель (в вашем случае R134)

  • Как работает 3-х направление слияния?

3 пути слияния работает (по крайней мере, в Meld) иерархически. Обычно слева направо, как это:

Местная> База> Другое / Голова

Local / Base в основном тривиально, потому что это только то, что вы изменили

Затем вы можете объединить ваши изменения в ревизию головы или один из ваших сотрудников СО или что-то еще.

Может быть несколько других / головных ревизий, но тогда это не ваша работа, чтобы объединить, и поэтому более 3 способов сравнения не имеет смысла.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top