Ulangi penggabungan satu file saja


112

Saya sedang melakukan penggabungan besar, dan saya sudah terbiasa git mergetoolmenyelesaikan semua konflik, tetapi saya belum melakukannya, karena saya ingin memastikan penggabungan itu baik-baik saja terlebih dahulu.

Ternyata saya melakukan kesalahan saat menyelesaikan konflik dalam satu file, dan saya ingin mengulangi resolusi konflik dengan git mergetoolfile itu. Karena ini adalah penggabungan besar, saya ingin menghindari pengulangan penggabungan pada semua file lainnya, seperti yang saya mengerti yang harus saya lakukan git merge --abort.

Saya tahu saya bisa mengedit file secara manual, tetapi ini akan sangat membosankan dan akan jauh lebih mudah untuk mengulang git mergetooloperasi. Apakah ini mungkin?


Jawaban:


181

Sepertinya saya hanya mencari di tempat yang salah. Solusinya ternyata cukup sederhana.

git checkout -m <file>

Ini mengembalikan file ke status konfliknya. Saya kemudian dapat menjalankan git mergetooluntuk mengulangi penggabungan.


2
Hal semacam ini berhasil untuk saya. Indeks berakhir dalam status gabungan, tetapi mergetool tidak berpikir bahwa ada penggabungan yang belum selesai. Saya baru saja melakukan penggabungan menggunakan vi, tapi ternyata aneh.
Chris Cleeland

1
Terima kasih! inilah yang dibutuhkan. Ngomong-ngomong, penggabungan manual dengan vi selalu menyenangkan dan memuaskan sepenuhnya. bergeser ke kiri atau bergeser ke kanan tidak pernah memberi saya keyakinan bahwa penggabungan akan berjalan seperti yang diharapkan
asgs

1
Ada beberapa detail tambahan yang berguna (dengan jawaban yang sama) dalam jawaban pertanyaan duplikat ini .
Joshua Goldberg

-4

Anda selalu dapat mengedit file secara manual.

Jika Anda menggunakan git merge --no-commit, maka Anda hanya akan memiliki komit yang disiapkan (setelah penggabungan otomatis dan semi-otomatis).

Anda masih dapat mengedit file dengan aman dan hanya mengkomit jika sudah benar-benar puas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.