Saya punya masalah ketika memanipulasi git pull. Pertimbangkan saya memiliki 2 cabang di repositori jarak jauh (asal) saya: A dan B.
Cabang B jarak jauh berada di depan cabang B lokal dengan 1 komit.
Komit tambahan ini (pada cabang B jarak jauh) hanya menambahkan file baru, katakan "newfile".
Di cabang lokal saya A, saya punya file "file baru" dan isinya berbeda dari salah satu cabang B terpencil.
Lalu, saya menjalankan perintah ini:
git checkout A
git pull origin B:B
Saya bisa melihat perilaku berikut: cabang B diperbarui seperti yang saya harapkan. B telah diteruskan dengan cepat, dan kemudian berisi "file baru". Tetapi saya juga memiliki konflik pada "file baru". dan dalam direktori saya saat ini, file "newfile" berisi penanda konflik.
Mengapa ada konflik sementara penggabungan sudah dilakukan?
Terima kasih.
Saya pikir saya salah mengerti semantik git pull. Saya pikir itu:
dimaksudkan:
Saya menyadari bahwa itu berarti:
Bahkan tarikan git akan selalu membuat penggabungannya ke cabang lokal, terlepas dari refspec.
Dengan kata lain, tarik = ambil + gabungkan. Pembaruan cabang B lokal dilakukan dengan "fetch", dan konflik dihasilkan oleh operasi gabungan berikut (ke cabang lokal).
sumber