ฉันจะเพิ่มโมดูลย่อย Git สำหรับแท็กหรือคอมมิตเฉพาะได้อย่างไร
ฉันจะเพิ่มโมดูลย่อย Git สำหรับแท็กหรือคอมมิตเฉพาะได้อย่างไร
คำตอบ:
ที่เก็บโมดูลย่อยยังคงอยู่ในสถานะ HEAD แยกที่ชี้ไปยังคอมมิตเฉพาะ การเปลี่ยนคอมมิตนั้นเกี่ยวข้องกับการตรวจสอบแท็กอื่นหรือคอมมิตจากนั้นเพิ่มการเปลี่ยนแปลงไปยังที่เก็บพาเรนต์
$ 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
ในที่เก็บพาเรนต์จะรายงานทรีสกปรก:
# On branch dev [...]
#
# modified: submodule (new commits)
เพิ่มไดเร็กทอรีโมดูลย่อยและคอมมิตเพื่อจัดเก็บตัวชี้ใหม่
ขั้นตอนที่ 1: เพิ่มโมดูลย่อย
git submodule add git://some_repository.git some_repository
ขั้นตอนที่ 2: แก้ไขโมดูลย่อยเป็นคอมมิตเฉพาะ
โดยค่าเริ่มต้นโมดูลย่อยใหม่จะติดตาม HEAD ของสาขาหลัก แต่จะไม่ได้รับการอัปเดตเมื่อคุณอัปเดตที่เก็บหลักของคุณ ในการเปลี่ยนโมดูลย่อยเพื่อติดตามการคอมมิตเฉพาะหรือสาขาอื่นให้เปลี่ยนไดเร็กทอรีไปที่โฟลเดอร์โมดูลย่อยและสลับสาขาเช่นเดียวกับที่คุณทำในที่เก็บปกติ
git checkout -b some_branch origin/some_branch
ตอนนี้โมดูลย่อยได้รับการแก้ไขในสาขาการพัฒนาแทนที่จะเป็น HEAD of master
จากชายสองคนเถียง - Tie Git submodules ไปโดยเฉพาะการกระทำหรือสาขา
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
สามารถใช้แท็กหรือ sha1hash ได้ สามารถทำได้เฉพาะสาขา
-b
การสนับสนุนสาขาและไม่แท็กหรือคอมมิต shas เป็นคุณสมบัติที่ไม่ใช่จุดบกพร่อง (อันที่จริง-b
คือชวเลข--branch
)