Itu terjadi pada kami bahwa kami membuat 2 repositori untuk 2 proyek yang sangat digabungkan sehingga tidak masuk akal untuk memisahkannya, jadi kami menggabungkannya.
Saya akan menunjukkan cara menggabungkan cabang-cabang master di masing-masing pertama dan kemudian saya akan menjelaskan bagaimana Anda dapat memperluas ini ke setiap cabang yang Anda dapatkan, semoga ini membantu Anda.
Jika submodule Anda berfungsi, dan Anda ingin mengubahnya menjadi direktori yang dapat Anda lakukan:
git clone project_uri project_name
Di sini kami melakukan klon bersih untuk bekerja. Untuk proses ini, Anda tidak perlu menginisialisasi atau memperbarui submodul, jadi abaikan saja.
cd project_name
vim .gitmodules
Edit .gitmodules
dengan editor favorit Anda (atau Vim) untuk menghapus submodule yang akan Anda ganti. Baris yang perlu Anda hapus akan terlihat seperti ini:
[submodule "lib/asi-http-request"]
path = lib/asi-http-request
url = https://github.com/pokeb/asi-http-request.git
Setelah menyimpan file,
git rm --cached directory_of_submodule
git commit -am "Removed submodule_name as submodule"
rm -rf directory_of_submodule
Di sini kita menghapus hubungan submodule sepenuhnya sehingga kita dapat membuat membawa repo lain ke proyek di tempat.
git remote add -f submodule_origin submodule_uri
git fetch submodel_origin/master
Di sini kita mengambil repositori submodule untuk digabung.
git merge -s ours --no-commit submodule_origin/master
Di sini kita memulai operasi gabungan dari 2 repositori, tetapi berhenti sebelum melakukan.
git read-tree --prefix=directory_of_submodule/ -u submodule_origin/master
Di sini kami mengirim konten master dalam submodule ke direktori di mana ia sebelum awalan nama direktori
git commit -am "submodule_name is now part of main project"
Di sini kita menyelesaikan prosedur melakukan komit dari perubahan dalam penggabungan.
Setelah menyelesaikan ini, Anda bisa mendorong, dan mulai lagi dengan cabang lain untuk menggabungkan, cukup checkout cabang di repositori Anda yang akan menerima perubahan dan mengubah cabang yang Anda bawa operasi gabungan dan baca-pohon.
git submodule deinit
, lihat jawaban saya di bawah ini