2013-04-12 34 views
6

Tôi muốn chuyển sang kho lưu trữ git được lưu trữ trên http://localhost:8000/tehCode.git được máy chủ sử dụng lệnh python -m "SimpleHTTPServer".Đẩy vào kho lưu trữ git được lưu trữ cục bộ qua HTTP

tôi nhận được một lỗi

error: Cannot access URL http://localhost:8000/tehCode.git/, return code 22 
fatal: git-http-push failed 

tôi có thể sao chép kho này chỉ là tốt, nhưng tôi không thể đẩy nó. Làm thế nào tôi có thể làm điều này giả sử tôi vẫn muốn sử dụng Python SimpleHTTPServer?

Tôi đã nhìn

  1. Cannot push Git to remote repository with http/https
  2. https://superuser.com/questions/473177/git-push-fatal-failed

Nhưng họ dường như được làm việc với Apache và hầu hết các giải pháp bằng cách chỉnh sửa tập tin cấu hình của Apache.

+0

Chỉ vì tò mò, tại sao bạn lưu trữ repo trên máy chủ, cục bộ? – MMM

+0

Cố gắng thiết lập nền tảng thử nghiệm Tích hợp liên tục. – ffledgling

+0

Tôi không biết HTTP sẽ sử dụng phương thức HTTP nào, nhưng điều đó không quan trọng. Điều quan trọng là * bạn * có một ý tưởng, và sau đó * chỉ cho chúng tôi * những gì bạn đã cố gắng thực hiện cho điều đó. Máy chủ của bạn có triển khai trình xử lý phương thức chính xác không? –

Trả lời

4

Khi sử dụng SimpleHTTPServer, bạn đang sử dụng giao thức http được gọi là câm. Nó được gọi là câm vì nó không có kiến ​​thức về git cả. Do đó, việc đẩy đến một máy chủ như vậy không hoạt động, bởi vì máy chủ http không có đầu mối phải làm gì với yêu cầu mà git đang thực hiện.

Git có tập lệnh cgi, được gọi là git-http-backend, được tạo để cho phép đẩy qua http bằng cách sử dụng giao thức http thông minh.

Tôi không có kinh nghiệm với điều này, nhưng bạn có thể xem pythons CGIHTTPServer mà bạn có thể chuyển đến git-http-backend.

Nhưng cách dễ nhất là sử dụng apache.

-1

Tại sao lại sử dụng HTTP nếu địa phương? Chỉ có thể git push where/the/repo/lives nên làm.

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