Thiết lập kho lưu trữ Git trên máy chủ Windows từ xa?


22

Tôi có một máy chủ windows mà tôi có thể truy cập cục bộ hoặc từ xa qua internet thông qua kết nối máy tính để bàn từ xa, v.v.

Tôi muốn thiết lập một kho lưu trữ git (một cái gì đó tương tự như "thân cây" trong lật đổ), có thể chứa một loạt các kho lưu trữ cho nhiều dự án.

Có ai biết làm thế nào tôi đi làm điều này? Tôi muốn làm điều đó bằng GUI nếu có thể. Tôi đã làm theo Hướng dẫn Git Bash này nhưng nó rất dài và không chính xác những gì tôi đang theo đuổi.

Tôi đang sử dụng ứng dụng khách Git có tên MSYSGIT. Sử dụng điều này tôi chỉ muốn có thể thiết lập các kho lưu trữ từ xa và bắt đầu cam kết mã nguồn.

Mọi sự trợ giúp sẽ rất được trân trọng!

Câu trả lời:


13

Ngày nay, có một tính năng tải lên "HTTP thông minh", thậm chí có thể thay thế quyền truy cập SSH. Không cần tạo thêm khóa riêng và việc cài đặt sẽ dễ dàng hơn vì thành phần máy chủ có thể được viết bằng bất kỳ ngôn ngữ nào bạn chọn:

Nếu tất cả đều thất bại, bạn cũng có thể chọn thiết lập máy chủ Apache và sử dụng git-http-backendnhị phân CGI tiêu chuẩn , xem: Các bước để thiết lập git-http-backend w / Apache trên Windows là gì?


Lưu ý rằng "những ngày này" đã hơn 2 năm trước. Là câu trả lời hàng đầu, tôi tò mò muốn biết liệu có điều gì đã thay đổi trong tâm trí bạn không?
RyanW

Cả hai đều được hỗ trợ như nhau trên Linux và cả hai đều ở lại. Tôi không biết nhiều về tình hình Windows ngay bây giờ *, sau đó tôi hy vọng hỗ trợ HTTP sẽ là giải pháp ưa thích. * vì tôi chủ yếu sử dụng Mac / Linux "những ngày này";)
vdboor

Xin chào @vdboor Tôi có một câu hỏi. Nếu chúng tôi đang sử dụng ssh, chúng tôi có thể có xác thực khóa chung để chúng tôi không cần gửi mật khẩu mỗi lần chúng tôi muốn kéo hoặc đẩy. Là tính năng đăng nhập duy nhất này có sẵn trong Smart Httpphương thức? Ý tôi là chỉ định mật khẩu một lần cho tất cả các hành động đẩy / kéo đến máy chủ.
AmirHossein


2

Bạn có thể xem xét việc sử dụng Cygwin + SSH + Gitosis để phục vụ các nhu cầu đó, nhưng thật không may, đây sẽ không phải là một quy trình thiết lập điểm và nhấp chuột đơn giản. Tôi đã viết một bài đăng blog chi tiết về những kinh nghiệm gần đây của tôi (bao gồm cả quy trình thiết lập).

Đối với yêu cầu của bạn cho điều này là một trải nghiệm đồ họa chủ yếu, tôi sẽ đề nghị tất cả các hệ thống máy khách của bạn đã cài đặt TortoiseGit . Điều này sẽ ngăn nhu cầu sử dụng dòng lệnh để thêm, cam kết, đẩy / kéo, v.v.


Lựa chọn SSH Client nào phù hợp nhất? - TortoisePLink một hoặc OpenSSH?
Goober

Hoặc là hoạt động, nhưng có lẽ tốt nhất là đi với openSSH trừ khi bạn có lý do để làm khác - nếu không, hãy tuân theo các mặc định.
Đánh dấu vào

1

Bạn có thể thiết lập nó dưới Cygwin :

Nếu bạn dùng Cygwin, bạn chỉ có thể làm như vậy trên máy chủ và chạy git-daemon dưới cygwin, nhưng vẫn sử dụng msysgit trên máy khách.

Làm cho git hoạt động đúng từ cygwin


Cần lưu ý rằng git-daemon chỉ cung cấp quyền truy cập bằng giao thức git: // (không phải ssh hoặc tệp) và chỉ đọc. Để cung cấp quyền truy cập ghi, nó phải được thực hiện trên ssh hoặc hệ thống tập tin (hoặc trừu tượng hóa nó).
Đánh dấu vào



1

Gogs chắc chắn đáng xem: dễ sử dụng (một số tùy chọn cài đặt được hỗ trợ), đa nền tảng (bao gồm cả Windows), nhẹ, mã nguồn mở.


bạn đã thử à?
Janus Troelsen

1

Dưới đây là một số tùy chọn:


Tôi sẽ không cung cấp cho bạn một downvote về điều này hoàn toàn bởi vì bạn tiết lộ sự liên quan của bạn. Điều đó tốt, nhưng như một lời nhắc nhở thân thiện, nếu tất cả những gì bạn làm là đăng liên kết đến sản phẩm này thì có khả năng bạn sẽ bị đình chỉ vì spam. Bỏ qua chuyện đó - chào mừng bạn đến với Server Fault, chúng tôi chúc bạn có một hành trình thú vị :-)!
Ben Pilbrow

Tôi là một người dùng rất tích cực của StackOverflow - tuy nhiên, đây là bài viết đầu tiên của tôi về ServerFault. Cảm ơn đã chào đón :)
Sông Lilith

1
Đây không phải là phương pháp GUI DUY NHẤT - cũng có gitstack.com (Tôi không tham gia vào dự án & chưa thử nó). Cũng có thể có những người khác.
rjmunro

Xin lưu ý rằng câu trả lời này đã hơn một năm tuổi và gitstack chỉ được giới thiệu vài tháng trước.
Sông Lilith

Môi trường tào lao trên Windows .... Những người dùng windows nghèo của bạn phải trả số tiền lớn cho những thứ nhảm nhí. :) Sử dụng bonobogitserver.com Thay vào đó.
AmirHossein



0

GitStack là người tôi đang đánh giá.

Khi tôi cũng bắt đầu quá trình này (thiết lập máy chủ Git trên Windows) và cuộc thảo luận này đã hơn một năm, tôi nghĩ tôi đã thêm nó vào hỗn hợp.



0

Gitlab là một giải pháp tuyệt vời và bao gồm giao diện dựa trên web. Để làm cho nó hoạt động trong yêu cầu của bạn.

  1. Bật hyperV trên máy chủ windows của bạn
  2. Tạo một máy ảo Linux
  3. Cài đặt Gitlab trên VM

Gitlab mất 2 hợp đồng ram, không phải là một ý tưởng hợp lý.
AmirHossein

0

Nếu bạn có một nhóm phát triển 5-10, tôi khuyên bạn nên đi với vanilla git với ssh. Dễ dàng cài đặt và bạn có ssh để bảo vệ dữ liệu trong quá trình.

Nếu bạn có nhiều nhóm với một số doanh thu lành mạnh, giả sử bạn có thư mục hoạt động của Windows đang chạy, bạn có thể muốn xem xét bitbucket của Atlassian. Chúng tôi sử dụng bitbucket chủ yếu cho các yêu cầu sau: 1. Quản lý kho git dưới dạng dự án, nơi chúng tôi có thể cung cấp kiểm soát truy cập tự phục vụ ở cấp dự án. 2. Tích hợp đăng nhập LDAP với đồng bộ hóa nhóm AD 3. Nỗ lực quản trị rất thấp


Không sử dụng vanilla ssh trên cửa sổ. Đó là tào lao.
AmirHossein
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.