Saya mencoba melakukan hanya file tertentu dengan Mercurial. Karena hg memiliki penambahan otomatis setiap kali saya mencoba melakukan perubahan, ia ingin memasukkan semua file. Tetapi saya tidak menginginkannya karena file tertentu belum "siap".
Ada
hg commit -I thefile.foo
tapi ini hanya untuk satu file. Cara yang lebih baik bagi saya adalah jika saya dapat mematikan penambahan otomatis seperti di Git. Apakah ini mungkin?
version-control
mercurial
commit
Praveen Kumar Purushothaman
sumber
sumber
hg ci foo bar baz
Jawaban:
Anda dapat menentukan file di baris perintah, seperti yang ditulis tonfa:
Itu berhasil dan itulah yang saya lakukan sepanjang waktu. Anda juga dapat menggunakan
--include
bendera yang Anda temukan, dan Anda dapat menggunakannya beberapa kali seperti ini:Anda bahkan dapat menggunakan kumpulan file untuk memilih file yang ingin Anda komit:
Tidak ada pengaturan yang akan menonaktifkan perilaku penambahan otomatis dan membuat Mercurial berfungsi seperti yang dilakukan Git. Namun, ekstensi mq mungkin menarik. Itu ekstensi lanjutan, tetapi memungkinkan Anda melakukannya
Saya sendiri tidak benar-benar menggunakan MQ untuk tujuan ini, karena saya pikir itu cukup hanya dengan menentukan nama file pada baris perintah.
sumber
Jika Anda ingin mengkomit beberapa file, dan mengecualikan banyak file lainnya, daftarkan secara eksplisit file yang ingin Anda komit.
-I
hanya diperlukan jika Anda ingin menggunakan pola, bukan file.Jika Anda ingin mengkomit banyak file, dan mengecualikan hanya beberapa file, menggunakan
-X
lebih nyaman.Misalnya, dalam repositori yang berisi "file_1", "file_2" dan "file_3", berikut ini adalah padanan, tetapi yang terakhir lebih mudah / lebih cepat untuk mengetik:
sumber
Mulai 3.8 Anda juga dapat menggunakan
hg commit --interactive
untuk memilih file (sebelum 3.8 Anda dapat menggunakan ekstensi crecord untuk fungsionalitas serupa). The--interactive
(atau hanya-i
) bendera akan menyebabkan hg untuk meminta Anda untuk file yang ingin Anda sertakan dalam komit. Sebagai bonus tambahan, Anda bahkan dapat menyertakan / mengecualikan potongan di dalam file.Berikut adalah contoh tampilan antarmuka. Perhatikan ini adalah tangkapan layar lama (dari crecord sebenarnya) jadi antarmuka telah sedikit berubah (tetapi dasarnya sama).
Catatan untuk mendapatkan antarmuka itu Anda perlu mengaktifkan antarmuka kutukan. Anda dapat melakukannya untuk proses tunggal dengan
hg commit --config ui.interface=curses --interactive
atau secara umum dengan menambahkan yang berikut ini ke.hgrc
:sumber