2012-05-04 17 views
16

Có lẽ câu hỏi rất ngớ ngẩn, nhưng tôi đã chỉ định các mô-đun con cho đến bây giờ trong tệp .gitmodules. Nó gần đây đã xảy ra với tôi rằng có lẽ nó có thể chỉ sử dụng .git/config cho cùng một lý do vì vậy tôi sẽ không phải giữ tập tin không liên quan trong thư mục làm việc?sự khác nhau giữa các tệp .gitmodules và chỉ định các mô-đun con trong .git/config?

.git/config:

[submodule "path/to/repo"] 
    url = [email protected]:username/repo.git 

.gitmodules

[submodule "path/to/repo"] 
    path = path/to/repo 
    url = [email protected]:username/repo.git 

Là những cơ bản những điều tương tự?

Trả lời

17

Câu trả lời giống nhau hơn .git/info/exclude.gitignore.

File .gitmodules có thể được đưa vào kho lưu trữ và chia sẻ với tất cả mọi người (có nghĩa là, nó có thể được thêm và cam kết như bất kỳ tập tin thường xuyên), trong khi bất cứ điều gì trong .git (như .git/config) là tư nhân (bạn không thể thêm nó vào kho).

+3

nếu tôi có các repos khác nhau được chỉ định trong .git/config và .gitmodules - cái nào sẽ được ưu tiên? – Stann

9

git submodule sync sẽ cập nhật tệp cấu hình của bạn với các chi tiết từ tệp .gitmodules, vì vậy tệp sau phải được coi là 'chính' - nó được chuyển giữa các repos như được nêu trong @ Artefact2.

Điều này rất hữu ích khi URL môđun thay đổi ngược dòng và bạn cần cập nhật kho lưu trữ cục bộ của bạn tương ứng.

+0

cái nào sẽ được ưu tiên nếu chúng có các repo khác nhau được chỉ định? – Stann

+3

cho lệnh phụ 'đồng bộ', đó là các tệp .gitmodules được ưu tiên, nhưng xem hướng dẫn cho các điều kiện bổ sung về những điều không được liệt kê trong cấu hình. –

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