Berikut lembar contekan pada perintah:
hg update
mengubah revisi induk copy pekerjaan Anda dan juga mengubah konten file agar sesuai dengan revisi induk baru ini. Ini berarti bahwa komit baru akan melanjutkan dari revisi yang Anda perbarui.
hg revert
hanya mengubah konten file dan membiarkan revisi induk salinan yang berfungsi saja. Anda biasanya menggunakan hg revert
ketika Anda memutuskan bahwa Anda tidak ingin menyimpan perubahan yang tidak dikomit yang Anda buat ke file dalam copy pekerjaan Anda.
hg branch
memulai cabang bernama baru. Pikirkan cabang bernama sebagai label yang Anda tetapkan untuk perubahan. Jadi jika Anda melakukannya hg branch red
, maka perubahan berikut ini akan ditandai sebagai milik pada cabang "merah". Ini bisa menjadi cara yang bagus untuk mengatur perubahan, terutama ketika orang yang berbeda bekerja di cabang yang berbeda dan Anda kemudian ingin melihat dari mana asal set perubahan itu. Tetapi Anda tidak ingin menggunakannya dalam situasi Anda.
Jika Anda menggunakan hg update --rev 38
, maka perubahan 39–45 akan dibiarkan sebagai jalan buntu - kepala menggantung seperti yang kita sebut. Anda akan mendapatkan peringatan saat Anda menekan karena Anda akan membuat "banyak kepala" di repositori yang Anda dorong. Peringatan itu ada di sana karena itu agak tidak sopan untuk meninggalkan kepala seperti itu karena mereka menyarankan seseorang perlu melakukan penggabungan. Tetapi dalam kasus Anda, Anda bisa melanjutkan dan hg push --force
karena Anda benar-benar ingin membiarkannya menggantung.
Jika Anda belum mendorong revisi 39-45 di tempat lain, maka Anda dapat merahasiakannya. Ini sangat sederhana: dengan hg clone --rev 38 foo foo-38
Anda akan mendapatkan klon lokal baru yang hanya berisi hingga revisi 38. Anda dapat terus bekerja foo-38
dan mendorong perubahan baru (baik) yang Anda buat. Anda masih memiliki revisi lama (buruk) di foo
klon Anda . (Anda bebas untuk mengganti nama klon sesuai keinginan Anda, misalnya foo
ke foo-bad
dan foo-38
ke foo
.)
Akhirnya, Anda juga bisa menggunakan hg revert --all --rev 38
dan kemudian melakukan. Ini akan membuat revisi 46 yang terlihat identik dengan revisi 38. Anda kemudian akan terus bekerja dari revisi 46. Ini tidak akan membuat garpu dalam sejarah dengan cara eksplisit yang sama seperti yang hg update
dilakukan, tetapi di sisi lain Anda tidak akan mengeluh tentang memiliki banyak kepala. Saya akan menggunakan hg revert
jika saya berkolaborasi dengan orang lain yang telah membuat karya mereka sendiri berdasarkan revisi 45. Jika tidak, hg update
lebih eksplisit.