Bắt đầu với Git 1.7.5, nên tự động cập nhật mô-đun phụ theo mặc định như bạn muốn.
[EDIT: mỗi nhận xét: các hành vi 1.7.5 mới là tự động lấy mới nhất cam kết cho các môđun con, nhưng không-cập nhật họ (theo nghĩa git submodule update
). Vì vậy, thông tin trong câu trả lời này có liên quan như là nền tảng, nhưng không phải là một câu trả lời hoàn chỉnh của chính nó. Bạn vẫn cần một bí danh để kéo và cập nhật các mô-đun con trong một lệnh.]
Hành vi mặc định, "theo yêu cầu", là cập nhật các mô-đun con bất cứ khi nào bạn tìm nạp cam kết cập nhật giao thức con, và cam kết này không đã được đặt trong bản sao cục bộ của bạn.
Bạn cũng có thể cập nhật nó trên mọi lần tìm nạp hoặc không bao giờ (hành vi trước 1.7.5 mà tôi giả định).
Tùy chọn cấu hình để thay đổi hành vi này là fetch.recurseSubmodules
.
Tùy chọn này có thể được đặt thành giá trị boolean hoặc on-demand
.
Đặt nó thành một thay đổi boolean hành vi của fetch
và pull
để recurse theo cách vô điều kiện thành các mô-đun con khi được đặt thành true hoặc không hoàn toàn chấp nhận khi được đặt thành false.
Khi thiết lập để on-demand
(giá trị mặc định), fetch
và pull
sẽ chỉ recurse vào một submodule dân cư khi superproject của nó lấy một cam kết rằng cập nhật của submodule tham khảo.
Xem:
để biết thêm thông tin.
git fetch --recurse-submodules[=yes|on-demand|no]
Nguồn
2011-04-27 10:53:33
Liên quan: http://stackoverflow.com/questions/1899792/why-is-git-submodule-update-not-automatic – philfreo
Tại sao bí danh git thích hợp hơn với bí danh vỏ? – wnoise
bí danh git rất đẹp vì nó đóng gói lệnh trong không gian tên "git". Bạn cũng có thể hỏi tại sao tất cả các lệnh git bắt đầu bằng "git" thay vì có tên riêng của chúng. –