Secara pribadi, saya tidak menyukai jawaban yang diposting sejauh ini:
- Saya tidak suka klon bercabang karena saya suka setiap proyek hanya memiliki satu direktori. Bekerja pada direktori yang berbeda pada saat yang sama akan mengacaukan riwayat file terbaru editor saya. Saya selalu berakhir dengan mengubah file yang salah. Jadi saya tidak melakukan itu lagi.
- Saya menggunakan
shelve
untuk perbaikan cepat (hanya untuk memindahkan perubahan yang tidak saya lakukan ke cabang lain, jika saya menyadari bahwa saya salah). Anda berbicara tentang hari, tidak mungkin saya menunda sesuatu selama berhari-hari.
- Menurut saya
mq
terlalu rumit untuk sittuation biasa seperti itu
Saya pikir cara terbaik adalah dengan hanya mengkomit perubahan Anda, daripada Anda kembali ke set perubahan sebelum Anda memulai perubahan ini dan bekerja dari sana. Ada beberapa masalah kecil, izinkan saya mengilustrasikan:
Katakanlah Anda memiliki set perubahan A. Kemudian Anda memulai perubahan. Pada titik ini Anda ingin menyisihkannya untuk sementara waktu. Pertama-tama, lakukan pekerjaan Anda:
hg ci -m "Working on new stuff"
Jika mau, Anda dapat menambahkan bookmark agar lebih mudah untuk kembali lagi nanti. Saya selalu membuat bookmark ke cabang anonim saya.
hg bookmark new-stuff
Kembali ke set perubahan sebelum modifikasi ini
hg update A
Dari sini, Anda bekerja dan menghasilkan set perubahan C. Sekarang Anda memiliki 2 kepala (B dan C), Anda akan diperingatkan saat mencoba mendorong. Anda hanya dapat mendorong satu cabang dengan menentukan kepala cabang itu:
hg push -r C
Atau Anda dapat mengubah fase new-stuff
cabang menjadi rahasia. Perubahan rahasia tidak akan didorong.
hg phase -r new-stuff --secret --force