Dengan Magit Anda dapat membuka buffer status magit, tekan TAB
untuk membuka diff (atau RET
untuk memunculkan buffer diff yang terpisah), tandai bagian-bagian dari sebongkah dan tekan s
atau u
untuk panggung / unstage wilayah tersebut. Benar-benar bagus.
Saya ingin tahu apakah mungkin untuk:
- edit file
- pilih wilayah, sebongkah atau beberapa bakhil tepat di dalam buffer file
- panggung / unstage wilayah yang dipilih atau hunk around point
s
. Tetapi Anda juga dapat mem-stage sebagian dari hunk, dengan menandai bagian-bagiannya (dengan cara yang sama Anda akan melakukannya dalam buffer kunjungan file) dan kemudian stage saja.Jawaban:
Tidak, Magit tidak mendukung itu. Versi masa depan mungkin. Git-Talang mendukungnya sekarang. Perintah itu bernama
git-gutter:stage-hunk
.sumber
Seperti yang disebutkan sebelumnya, git-gutter adalah ekstensi yang dirancang untuk menunjukkan kepada Anda informasi git secara langsung di file Anda, dan beroperasi dari sana, sementara magit berfokus pada operasi di diffs.
Fitur ini tidak direncanakan untuk git gutter dalam waktu dekat ( https://github.com/syohex/emacs-git-gutter/issues/91 )
Namun itu adalah hal yang emacs lisp harus sangat baik dalam memusnahkan (melewati orang-orang bakhil di suatu daerah dan mengatur waktu mereka). Mencoba ini sendiri, ini hampir terjadi, satu-satunya masalah adalah git-talang memulai proses latar belakang setelah Anda tahap hunk dan tidak menunggu sampai selesai, jadi saya harus menambahkan sedikit sihir hack untuk menangani ini.
Fungsi emacs lisp berikut harus melakukan apa yang Anda inginkan. Anda mungkin ingin mengikatnya ke beberapa tombol.
sumber