2017-03-27 14 views
13

Tôi đang chạy phiên bản Git 2.12.1 trên Windows Server 2012 R2 chạy trên Microsoft Team Foundation Cloud Service. Bất kể lệnh Git tôi chạy, tôi vẫn gặp phải lỗi này. Tôi thậm chí đã mở toàn bộ Bức Tường Lửa của mình để xem nó có gây ra nó hay không. Tôi đã thử Clone, Push, & Kéo và tất cả đều trả về lỗi này.Lệnh Git không HttpRequestException

git clone https://myaccount.visualstudio.com/_git/myProject 
Cloning into 'myProject'... 
fatal: HttpRequestException encountered. 
    An error occurred while sending the request. 

Unhandled Exception: System.ObjectDisposedException: Cannot access a closed file. 
    at System.IO.__Error.FileNotOpen() 
    at System.IO.FileStream.Flush(Boolean flushToDisk) 
    at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) 
    at Microsoft.Alm.Git.Trace.Microsoft.Alm.Git.ITrace.Flush() 
    at Microsoft.Alm.Cli.Program.Die(String message) 
    at Microsoft.Alm.Cli.Program.Die(Exception exception) 
    at Microsoft.Alm.Cli.Program.Main(String[] args) 
+0

Cấu hình của bạn là 'git config --list' là gì?Và bạn có thể sao chép/đẩy/kéo thành công bởi VS? –

+0

Nếu điều này là gần đây, thì nó không chắc nó có thể là một vấn đề TLS. –

+0

Bản sao có thể có của [Cant push git, studio trực quan. Git thất bại với một lỗi nghiêm trọng. gây tử vong: HttpRequestException gặp phải] (https://stackoverflow.com/questions/48956927/cant-push-git-visual-studio-git-failed-with-a-fatal-error-fatal-httprequeste) –

Trả lời

5

Đây là callstack từ Git Credential-Manager for Windows: xem issue 481.
Đây là trình trợ giúp thông tin xác thực sẽ lưu trong bộ nhớ cache Windows Credential Manager lưu trữ mật khẩu được liên kết với tài khoản và URL máy chủ Git Hosting từ xa.

Kiểm tra giá trị của git config credential.helper

độ phân giải bình thường: nâng cấp Git (mà nhúng GCM).

Trong off-cơ hội một lỗi tập tin liên quan đến tuổi là by-Sản Phẩm của một sự thay đổi GitHub cấu hình SSL (made yesterday), các maintainer for Git for Windows just tweeted:

Nếu bạn gặp sự cố kết nối với GitHub từ Windows ngày hôm nay, hãy đảm bảo cập nhật lên phiên bản Git mới nhất cho Windows.
GitHub đã thay đổi cấu hình SSL của họ.


Là một workaround (ít nhất là để khẳng định điều này là vấn đề), loại bỏ credential.helper từ bất kỳ tập tin thiết lập git config. Xem git config -l --show-origin để liệt kê tất cả.

Sau khi bị xóa, bất kỳ bản sao nào, nếu cần xác thực, sẽ nhắc bạn về thông tin đăng nhập. Nhưng ít nhất, nó sẽ không thất bại.

Kiểm tra xem phiên bản GCM (Trình quản lý thông tin xác thực Git - cho Windows) có phải là phiên bản cuối cùng hay không.

Để biết điều đó, hãy kiểm tra phiên bản Git bạn đang sử dụng.
Kiểm tra chương trình Git của bạn được cài đặt ở đâu: nhập vào phiên CMD.

where git 

Một khi bạn biết được nơi Git được cài đặt, bạn có thể nhận được lên phiên bản GCM nhúng trong Git:

C:\path\To\git 
"./mingw64/libexec/git-core/git-credential-manager.exe" version 
Git Credential Manager for Windows version 1.14.0 
+0

Cách kiểm tra phiên bản GCM ? – iagowp

+0

@iagowp Tôi đã chỉnh sửa câu trả lời để làm rõ hơn. – VonC

+0

đơn giản hóa câu trả lời của bạn, để "chỉ cập nhật git và bạn sẽ được" –

4

Theo this issue trên Git Credential vấn đề quản lý theo dõi và kinh nghiệm của riêng tôi sáng nay, một lỗi HttpRequestException với ngoại lệ là System.ObjectDisposedException: Không thể truy cập tệp đã đóng với một kho lưu trữ trước đó hoạt động có khả năng do máy chủ lưu trữ triển khai TLS 1.2 làm yêu cầu và bạn sử dụng phiên bản của Trình quản lý thông tin xác thực Git trước phiên bản 1.14.0 (đi kèm với Git cho Windows v2.16.2).

Để giải quyết, hãy cập nhật lên Git cho Windows v2.16.2 hoặc mới hơn.

Để giải quyết trực tiếp iagowp, nếu đây là kho lưu trữ được lưu trữ trên Github, họ bắt đầu force TLS 1.2 as of 19:00 UTC on the 22nd of Feb.

+0

Chờ ... đây là vấn đề tương tự mà tôi đề cập đến trong câu trả lời của riêng tôi. Tại sao lặp lại nó? – VonC

+0

Khi tôi viết câu trả lời của mình, bạn không đưa ra giải pháp rõ ràng là "cập nhật git", phiên bản cần thiết để giải quyết vấn đề hoặc chi tiết về nguyên nhân cơ bản của vấn đề là gì. –

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