2016-07-27 16 views
9

Tôi có hai máy tính riêng biệt kết nối với cùng một repo Gitlab. Cả hai chạy Visual Studio Update 3 và sử dụng Team Explorer với Git. Trên một máy tính, tôi không có vấn đề gì khi cập nhật dự án và sau đó đẩy các cam kết vào repo từ xa. Trên PC khác tuy nhiên bất kỳ hoạt động nào (push hoặc fetch hoặc sync) sẽ bị lỗi với lỗi Unsupported URL protocol, mặc dù ban đầu tôi đã quản lý để sao chép repo. Tôi nghi ngờ nó không giống như một cái gì đó trong chuỗi kết nối, kể từ khi tôi có thể cam kết và đồng bộ hóa repo bằng cách sử dụng dòng lệnh git (phiên bản 2.9.2 khá gần đây). Nguyên nhân của lỗi này là gì và có cách giải quyết khác không?Giao thức URL không được hỗ trợ trong lỗi nhà cung cấp git

+1

Vì bash Git đang hoạt động trên máy tính khác, một cách giải quyết là chỉ sử dụng bash. Bạn có thể thử so sánh cài đặt kết nối Gitlab giữa hai máy tính. –

+0

có, đó là giải pháp khắc phục hiện tại tôi đang sử dụng. Có cách nào để kiểm tra một số loại nhật ký kết nối hoặc chuỗi kết nối, vì nó đang phàn nàn về URL. Tôi đã thử viết lại URL nhưng điều đó không hiệu quả. – s952163

+2

So sánh các cài đặt từ cả Gitlabs. Một là làm việc, vì vậy bạn có thể sử dụng như là một tài liệu tham khảo. –

Trả lời

19

Tôi đã kiểm tra sự khác biệt giữa hai Repos địa phương, và git remote -v trên PC1 cho:

gốc https://gitlab.com/ ...

trong khi trên PC2:

gốc git @ gitlab.com: ...

Sau khi điều tra thêm, có vẻ như phiên bản cũ của LibGit2 mà VS2015 Update3 sử dụng thiếu hỗ trợ SSH. Repo đầu tiên là bản gốc và được tạo ra trong VS, repo thứ hai được nhân bản thông qua một dòng lệnh, do đó chuỗi kết nối SSH.

Cách giải quyết là để thay đổi chuỗi kết nối trong .git/config để

url = https://gitlab.com/ ...

Nếu một hoàn toàn cần SSH hơn nó có thể biên dịch lại gitlib2, hoặc sử dụng dòng lệnh git hoạt động. Có thể sử dụng các Nhà cung cấp nguồn Git khác trong VS2015, tuy nhiên tôi chưa thử nghiệm nó. (ví dụ: Git Source Control Provider 2015)

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