Mercurial Commits vs График фактического производства

Хорошо, я еще не видел это всплывающее окно как комбинированный вопрос по Mercurial, но это то, что я недавно заметил.

Если посмотреть на другие репозитории для разработки программного обеспечения, коммиты в значительной степени "идеальны", поэтому, если целью было исправить функцию f(), то коммит просто "исправил f() с помощью ---". Моя вещь, я сомневаюсь, что каждая коррекция произошла всего за один коммит.

Я хотел бы что-то вроде

[1: попытка x исправить f] -> [2: попытка y исправить f] -> [3: попытка z исправить f] -> [4:f исправлена]

Я заметил с именованными ветвями или без них, если я попытаюсь затем объединить [4:fixed] с имеющейся у меня "стабильной" ветвью, то независимо от того, будет ли нажатие или вытягивание изменения, он потянет [1:4] не только [4].

Я хотел бы только внести чистую коррекцию в репо или в производственную установку. Какой самый простой способ поделиться всеми моими не тестовыми изменениями?

2 ответа

Решение

Если вы хотите нажать только чистую ревизию, сделайте только чистую ревизию. Объединение нескольких локальных наборов изменений в 1 (а-ля Амбер ответ) является одним из способов.

Я предпочитаю использовать Mercurial Queues и выполнять свою работу в патче. Затем, когда он будет завершен, я заканчиваю патч и становлюсь набором изменений.

Расширение rebase с --collapse,

Другие вопросы по тегам