Ось шпаргалка з командами:
hg updateзмінює батьківську версію робочої копії, а також змінює вміст файлу відповідно до цієї нової батьківської версії. Це означає, що нові оновлення виконуватимуться після оновлення, до якого ви оновите.
hg revertзмінює лише вміст файлу і залишає версію батьківської версії робочої копії самостійно. Зазвичай ви використовуєте, hg revertколи вирішите, що не хочете зберігати незаконні зміни, внесені до файлу, у своїй робочій копії.
hg branchпочинає нову названу гілку. Подумайте про названу гілку як мітку, яку ви присвоюєте наборам змін. Тож якщо ви це зробите hg branch red, то наступні набори змін будуть позначені як належні на "червоній" гілці. Це може бути приємним способом організації наборів змін, особливо коли різні люди працюють у різних галузях, і ви згодом хочете побачити, звідки походить набір змін. Але ви не хочете використовувати його у своїй ситуації.
Якщо ви використовуєте hg update --rev 38, то набори змін 39–45 залишаться як глухий кут - звисаюча голова, як ми це називаємо. Ви отримаєте попередження при натисканні, оскільки ви будете створювати "кілька головок" у сховищі, до якого ви натискаєте. Попередження є, оскільки це неначебно залишати такі голови навколо, оскільки вони припускають, що комусь потрібно зробити злиття. Але у вашому випадку ви можете просто йти вперед, і hg push --forceоскільки ви дійсно хочете залишити його висячим.
Якщо ви ще не натиснули редакцію 39-45 десь в іншому місці, тоді ви можете залишити їх приватними. Це дуже просто: з hg clone --rev 38 foo foo-38вами ви отримаєте новий локальний клон, який містить лише до редакції 38. Ви можете продовжувати працювати foo-38і висувати нові (хороші) набори змін, які ви створюєте. Ви все одно матимете старі (погані) зміни у своєму fooклоні. (Ви можете перейменовувати клони, як тільки захочете, наприклад, fooв foo-badі foo-38до foo.)
Нарешті, ви також можете скористатися, hg revert --all --rev 38а потім здійснити фіксацію. Це створить версію 46, яка буде схожа на версію 38. Потім ви продовжите роботу з версією 46. Цей бажання створити вилку в історії таким же явним чином, як hg updateі ви, але з іншого боку, ви не отримаєте скарги на наявність кілька головок. Я б використовував, hg revertякби співпрацював з іншими, хто вже зробив власну роботу на основі перегляду 45. В іншому випадку hg updateбільш чітко.