Tôi sẽ làm thế nào về việc thêm một mô-đun con Git cho một thẻ hoặc cam kết cụ thể?
Tôi sẽ làm thế nào về việc thêm một mô-đun con Git cho một thẻ hoặc cam kết cụ thể?
Câu trả lời:
Kho lưu trữ mô-đun con luôn ở trạng thái HEAD tách rời trỏ đến một cam kết cụ thể. Thay đổi cam kết đó chỉ đơn giản là kiểm tra một thẻ khác hoặc cam kết sau đó thêm thay đổi vào kho lưu trữ mẹ.
$ 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
trên kho lưu trữ mẹ bây giờ sẽ báo cáo một cây bẩn:
# On branch dev [...]
#
# modified: submodule (new commits)
Thêm thư mục submodule và cam kết lưu trữ con trỏ mới.
Bước 1: Thêm mô-đun con
git submodule add git://some_repository.git some_repository
Bước 2: Sửa mô-đun con thành một cam kết cụ thể
Theo mặc định, mô-đun con mới sẽ theo dõi HEAD của nhánh chính, nhưng nó sẽ KHÔNG được cập nhật khi bạn cập nhật kho lưu trữ chính của mình. Để thay đổi mô-đun con để theo dõi một cam kết cụ thể hoặc một nhánh khác, hãy thay đổi thư mục thành thư mục mô-đun con và chuyển các nhánh giống như bạn làm trong một kho lưu trữ thông thường.
git checkout -b some_branch origin/some_branch
Bây giờ submodule được cố định trên nhánh phát triển thay vì HEAD của master.
Từ hai người đang tranh luận - Buộc các mô-đun con Git thành một Cam kết hoặc Chi nhánh Cụ thể .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
thể nhận được một thẻ hoặc một sha1hash. Nó chỉ có thể mất một nhánh.
-b
các nhánh hỗ trợ chứ không phải thẻ hoặc phạm vi cam kết là một tính năng không phải là lỗi (thực tế -b
là viết tắt của --branch
).