Bagaimana cara saya menambahkan submodul Git untuk tag atau commit tertentu?
Bagaimana cara saya menambahkan submodul Git untuk tag atau commit tertentu?
Jawaban:
Repositori submodul tetap dalam status HEAD terpisah yang mengarah ke komit tertentu. Mengubah komit itu hanya melibatkan memeriksa tag atau komit yang berbeda, lalu menambahkan perubahan ke repositori induk.
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
git-status di repositori induk sekarang akan melaporkan pohon kotor:
# On branch dev [...]
#
# modified: submodule (new commits)
Tambahkan direktori submodul dan berkomitmen untuk menyimpan penunjuk baru.
Langkah 1: Tambahkan submodul
git submodule add git://some_repository.git some_repositoryLangkah 2: Perbaiki submodul ke komit tertentu
Secara default, submodul baru akan melacak HEAD dari cabang master, tetapi TIDAK akan diperbarui saat Anda memperbarui repositori utama Anda. Untuk mengubah submodul untuk melacak komit tertentu atau cabang berbeda, ubah direktori ke folder submodul dan ganti cabang seperti yang Anda lakukan di repositori biasa.
git checkout -b some_branch origin/some_branchSekarang submodule diperbaiki pada cabang pengembangan, bukan pada HEAD master.
Dari Two Guys Arguing - Tie Git Submodules ke Commit atau Branch Tertentu .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -bada tanda atau sha1hash. Ini hanya bisa mengambil satu cabang.
-bcabang pendukung dan bukan tag atau komit shas adalah fitur bukan bug (sebenarnya -badalah singkatan dari --branch).