2012-01-11 18 views
6

Tôi đang tham khảo một mô-đun con git trong dự án của tôi, và bây giờ cần tham khảo một SHA cụ thể trong repo git đích.Mô-đun con Git: chỉ định một SHA cụ thể?

# .gitmodules 
[submodule "vendor/plugins/ssl_requirement"] 
    path = vendor/plugins/ssl_requirement 
    url = git://github.com/retr0h/ssl_requirement.git 

SHA tôi muốn là bc96ad96407a72a60e0542cf3b0cecc6ff9e278e.

Trả lời

20

Mô-đun con, theo định nghĩa, luôn tham chiếu SHA1 cụ thể trong tiểu dự án. SHA1 không được thể hiện trong tệp .gitmodules, nhưng thay vào đó được biểu thị dưới dạng mục nhập trong đối tượng cây có chứa mô-đun con. Cách bạn thiết lập điều này trong git là bằng cách nhập cd vào mô-đun con, kiểm tra SHA1 mà bạn muốn, sau đó cd quay lại kho lưu trữ gốc và cam kết thay đổi của bạn, sẽ hiển thị giống như tệp đã thay đổi.

Vì vậy, trong trường hợp của bạn những gì bạn có thể làm là

cd vendor/plugins/ssl_requirement 
git checkout bc96ad96407a72a60e0542cf3b0cecc6ff9e278e 
cd .. 
git add ssl_requirement 
# commit whenever you're ready 
+1

+1; đó gần như chính xác những gì tôi vừa viết. Lưu ý rằng nếu submodule cuối cùng được lấy từ nguồn gốc trước commit đó, bạn có thể phải chạy 'git fetch' trong submodule để lấy nó! – Cascabel

+0

Cảm ơn, tạo cảm giác hoàn hảo! – Zubin

Các vấn đề liên quan