2015-05-04 20 views
5

Tôi phải tự động tự động hóa nhân bản một kho lưu trữ và tìm nạp tất cả các mô-đun con. Các url cho các mô-đun con kho lưu trữ được chỉ định tại .gitmodules. Nếu tôi được đi với giá trị mặc định tôi sẽ chỉ làmSao chép một repo có submodules: ghi đè thông tin đăng nhập

git clone --recursive https://username:[email protected] 

Vấn đề là thông tin không có trong .gitmodules tập tin và tôi đang nhắc nhở cho những khi tôi sao chép. Tôi phải sử dụng HTTPS thay vì SSH.

Tôi cố gắng để nộp các chứng chỉ sử dụng git config:

git clone https://username:[email protected] my_repo 
cd my_repo 
git submodule init 
git config submodule.my_submodule.url "https://username:[email protected]/my_submodule.git" 
git submodule update 

nhưng tôi nhận được nhắc nhở cho thông tin trong bước cập nhật cuối cùng. Tôi đã kiểm tra rằng url submodule là chính xác và có thông tin đăng nhập thích hợp trong tệp .git/config.

+1

bạn đã thử 'git submodule sync'' chưa? –

+1

Hóa ra tôi đã không sử dụng tên riêng cho 'my_submole'. Bị lừa bởi hoàn thành tab. Tôi tìm thấy tên thích hợp trong '.gitmodules'. – sakovias

Trả lời

3

Có vẻ như bạn đang cố gắng sử dụng thông tin đăng nhập git nhưng không có bất kỳ may mắn nào.

Lựa chọn 1

Thêm thông tin bằng cách sử dụng helper chứng chỉ:

git config credential.https://example.com.username myusername 
git config credential.helper "$helper $options" 

Kiểm tra bạn ~/.gitconfig và xác minh rằng sự xâm nhập thích hợp được thêm vào.

Tiếp tục đọc: http://git-scm.com/docs/gitcredentials

Lựa chọn 2

tôi sẽ kiểm tra lại các nội dung của .git-thông tin của bạn tập tin và thực hiện một mục mới cho các submodule nếu nó không phải là hiện tại. Tệp này được sử dụng trong nội bộ bởi trình trợ giúp thông tin đăng nhập git.

http://git-scm.com/docs/git-credential-store

Lựa chọn 3

Giải pháp dễ dàng trong cửa sổ là để loại bỏ tên người dùng, mật khẩu từ file module:

[submodule foo] 
    path = sub/foo 
    url = https://example.com/git/foo.git 

Và tạo ra một ~/file .netrc.

machine example.com 
    login myusername 
    password areamandyingtotellsomeonehiscoolpassword 

Kudos to Git submodule URL not including username?.

7

Sau editting file .gitmodules bạn cần phải áp dụng những thay đổi sử dụng

git submodule sync 

Lần sau khi bạn chạy git submodule update url mới sẽ được sử dụng.

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