Я знаю, что Rebase является (в комплекте) расширением, а Graft - это основная функция (которая заменила расширение Transplant (в комплекте)).В Mercurial какая разница между hg-трансплантатом и hg rebase
graft
документирована как:
копирования изменений из других веток на текущей ветви
Эта команда использует слияние логики Mercurial, чтобы копировать отдельные изменения от других ветвей без слияния ветвей в истории графа , Это иногда называют «backporting» или «cherry-picking».
rebase
документирована как:
Rebase позволяет перемещение совершает вокруг в истории Mercurial (используя ряд внутренних слияний). Это имеет множество применений:
- двигающихся ревизии между ветвями
- «линеаризацией» Историей
- переупорядочением ревизий
- коллапсом несколько изменений в одну ревизии
И, кажется, использовать слияние с перемещать или копировать изменения между ветвями.
Почтовые копии. Перемещение перемещается. Но rebase --keep
экземпляров.
Так часто кажется, что я могу выполнить свою задачу по копированию набора изменений в любом случае. Имеет ли значение, какой из них я использую? Когда я должен отдать предпочтение одному другому?
E.g. следует ли прививку использовать только при копировании на другой с именем? Или только когда есть только один набор изменений?
Edit: Может быть, что перебазироваться является потенциально небезопасным надмножеством трансплантата, но могут быть использованы только с draft
ревизиями в процессе разработки для редактирования местной истории, в то время как трансплантат безопасное подмножество перебазироваться, которые могут быть использованы с public
Изменения во время обслуживания для резервного копирования?
Обратите внимание, что мой основной вопрос не обязательно должен содержать список всех незначительных технических различий, но найти правило/логическое обоснование между ними **, когда либо кажется, что работает **. Или я должен использовать только то, что кажется более удобным? – Peter