Saya memiliki proyek super git yang mereferensikan beberapa submodul dan saya mencoba mengunci alur kerja agar anggota proyek saya lainnya dapat bekerja di dalamnya.
Untuk pertanyaan ini, katakanlah superproject saya dipanggil superydan submodulnya dipanggil subby. (Kemudian adalah penyederhanaan dari apa yang saya coba lakukan ... Saya sebenarnya tidak menggunakan cabang untuk versi, tapi saya pikir akan lebih mudah untuk meletakkan sebagai pertanyaan.)
Cabang master saya superymemiliki tag v1.0proyek git yang subbydirujuk sebagai submodul. Cabang superyyang disebut one.onedan mengubah referensi submodule ke titik ke tag v1.1dari subby.
Saya dapat bekerja di dalam masing-masing cabang ini tanpa hambatan, tetapi jika saya mencoba memperbarui one.onecabang dengan perubahan dari mastercabang, saya menerima beberapa konflik dan saya tidak tahu bagaimana menyelesaikannya.
Pada dasarnya setelah menjalankan beberapa git pull . mastersaat di subbycabang, sepertinya itu membuat submodul tambahan.
Sebelum tarik / gabung, saya mendapatkan respons yang diinginkan git submoduledari one.onecabang:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Tapi setelah ditarik, itu menambahkan submodul tambahan saat saya menjalankan git submodule:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
Bagaimana cara menghapus / mengabaikan referensi submodule yang tidak diinginkan dan melakukan konflik dan perubahan saya? Atau apakah ada parameter yang dapat saya gunakan dengan dokumen asli saya git pullyang akan mengabaikan submodul saya?