Thiết lập máy chủ Git với msysgit trên Windows [đã đóng]


163

Bạn bè của tôi và tôi đang cố gắng thiết lập Git cho Windows bằng hướng dẫn Git Server: Gitosis và Cygwin trên Windows , nhưng chúng tôi tiếp tục gặp vấn đề.

Hướng dẫn "Setup Git Server" cho Windows bằng msysgit sẽ như thế nào?

Có một nhận xét trong hướng dẫn ở trên cho thấy không thể thực hiện được với msysgit vì gitosis yêu cầu sử dụng SSH Server và Bash? Hướng dẫn từng bước là gì (vì không có sẵn)?

  1. Cài đặt mysisgit

  2. ?


* Git cho các nhà phát triển Windows . 3 phần, đây là một liên kết đến phần đầu tiên. Tốt một! * Hướng dẫn minh họa về Git trên Windows * Tiện ích mở rộng Git (video)
Rook

Tôi đã sử dụng công cụ này tại windowsgit.com như Computer Linguist gợi ý sau khi thử (và không thành công) với các phương pháp trên. Nó thật dễ dàng và chỉ cần làm việc. Đáng giá 9 đô la, IMO.
Edward Anderson

Bạn có thể dùng thử Git Candy, nền tảng Git dựa trên ASP.NET MVC. Nguồn trên: github.com/Aimeast/GitCandy , Demo trên: git.53wb.com
Aimeast

Câu trả lời:


79

Tôi tìm thấy bài đăng này và tôi vừa đăng một cái gì đó trên blog của tôi có thể giúp đỡ.

Xem Thiết lập Máy chủ Msysgit với copSSH trên Windows . Nó đã lâu, nhưng tôi đã thành công trong việc này trên Windows 7 Ultimate x64.


5
Đối với bản ghi, từ những gì tôi có thể nói, tại điểm 5.5 trong hướng dẫn của Tim, bạn cần chèn lệnh bổ sung TRƯỚC KHI #, không phải sau (nếu không nó vẫn được nhận xét).
Stewol

1
Bạn có thể xem qua windowsgit.com .
Sông Lilith

6
Lưu ý rằng Copssh không được cung cấp trên sourceforge và nó không còn miễn phí nữa kể từ 2012 tháng Tư
TiansHUo

2
@Tim, bạn có thể đăng lại nội dung bài đăng trên blog của bạn ở đây không? Nếu blog của bạn ngoại tuyến thì câu trả lời này trở nên vô dụng.
Sao biển

1
@ Starfish - Đó là những gì web.archive.org dành cho! Dưới đây là bài viết của Tim trên đó: web.archive.org/web/20100207010332/http://www.timdavis.com.au/...
alldayremix

27

Máy chủ Bonobo Git cho Windows

Từ trang web Bonobo Git Server :

Bonobo Git Server cho Windows là một ứng dụng web bạn có thể cài đặt trên IIS của mình và dễ dàng quản lý và kết nối với kho git của bạn.

Bonobo Git Server là một dự án nguồn mở và bạn có thể tìm thấy nguồn trên github .

Đặc trưng:

  • Truy cập an toàn và ẩn danh vào kho git của bạn
  • Giao diện web thân thiện với người dùng để quản lý
  • Quản lý truy cập kho lưu trữ dựa trên người dùng và nhóm
  • Trình duyệt tệp lưu trữ
  • Cam kết trình duyệt
  • Bản địa hóa

Brad Kingsley có một hướng dẫn tốt để cài đặt và định cấu hình Máy chủ Bonobo Git.

GitStack

Git Stack là một lựa chọn khác. Dưới đây là một mô tả từ trang web của họ:

GitStack là một phần mềm cho phép bạn thiết lập máy chủ Git riêng cho Windows. Điều này có nghĩa là bạn tạo ra một hệ thống phiên bản cạnh hàng đầu mà không có bất kỳ kiến ​​thức Git nào trước đó. GitStack cũng giúp bảo mật siêu dễ dàng và giữ cho máy chủ của bạn luôn cập nhật. GitStack được xây dựng trên đỉnh Git chính hãng cho Windows và tương thích với mọi máy khách Git khác. GitStack hoàn toàn miễn phí cho các đội nhỏ 1 .

1 các phiên bản cơ bản là miễn phí cho người sử dụng lên đến 2


1
GitStack chỉ miễn phí cho tối đa 5 người dùng. Khi đã vượt quá giới hạn đó, bạn sẽ định giá theo năm dựa trên số lượng người dùng. Xem trang Giá trên trang web GitStack.
Simon Tewsi

2
Lưu ý rằng nhà phát triển ban đầu của Bonobo Git Server, Jakub Jigounský, nói trong một bài đăng trên diễn đàn vào ngày 1 tháng 1 năm 2012 rằng anh ta không còn có thể hỗ trợ dự án.
Simon Tewsi

2
GitStack hiện chỉ miễn phí cho tối đa 2 người dùng.
M4N

2
Bonobo đang hoạt động một dự án một lần nữa.
Tomas Kubes

2
Chỉ cần nhớ kích hoạt IIS> Dịch vụ WWW> Tính năng phát triển ứng dụng> ASP.NET 4.5. Bonobo đã làm việc cho tôi khi GitStack (thậm chí không thể sử dụng msysgit chính thống) và Bonobo là nguồn mở và được MIT cấp phép! Điều này cung cấp một giải pháp thỏa mãn cho Windows, nhiều như tôi muốn sử dụng máy Unix cho mục đích này.
Sẽ

26

Liên quan đến tham chiếu đến trang Tim Davis - Thiết lập Máy chủ Msysgit với copSSH trên Windows - Tôi đã sử dụng điều này để có được máy chủ Git chạy trên Windows 7 Home Premium 64.

Dưới đây là một postmortem / cập nhật những gì tôi học được ngoài các hướng dẫn của anh ấy.

Giống như Tim Davis đã nói, đây là một quá trình gian khổ và bực bội, ít nhất là đối với tôi - tôi không quá giỏi với việc tích hợp loại này, nhưng tôi đã học được rất nhiều trong quá trình này. Tôi hy vọng nỗi đau của tôi có lợi cho người khác trong tương lai, bởi vì đây là một quá trình gian khổ.

  1. Có một bước để sao chép tất cả các tệp thực thi Git vào thư mục bin CopSsh của bạn. Thay vì sao chép tệp và tìm ra tệp nào cần thiết, hãy thêm đường dẫn git bin vào đường dẫn git của bạn. Tôi đã làm như vậy bằng cách sửa đổi hồ sơ .bashrc và CopSsh của tôi.

    Đây là những gì tôi đã thêm vào .bashrc (trong thư mục chính CopSsh và Windows của bạn):

    gitpath = '/ cygdrive / c / Tệp chương trình (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Tệp chương trình (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Đây là những gì tôi đã thêm vào hồ sơ bash (trong CopSsh vv / profile):

    gitpath = '/ c / Tệp chương trình (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Tệp chương trình (x86) / Git / libexec / git-core'

    xuất PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Có một số trùng lặp ở đây - nó hoạt động với tôi, vì vậy ai đó kêu vang trong đó là nơi chính xác để sửa đổi đường dẫn.

  2. Các phiên bản msysgit mới hơn có thể không cung cấp cho bạn màn hình để chọn ssh thực thi nơi bạn chọn giữa Git ssh và PuTTY ssh. Bạn sẽ phải đặt GIT_SSH theo cách thủ công nếu bạn sử dụng PuTTY.

  3. Tôi đã không làm theo một phần của hướng dẫn và đó là cài đặt Rùa - Tôi đã sử dụng dòng lệnh thay vì đó là cách tôi thích học vcs như tôi đã làm với rcs và Subversion và thấy rằng nó hoạt động với tôi. Tôi gặp vấn đề với lệnh clone bằng ssh. Đây là cách tôi đã làm:

    Git clone bằng ssh - không thể tìm thấy kho lưu trữ

    Đây là nơi tôi đập đầu mình nhiều nhất.

  4. Thư mục cài đặt CopSsh là / Tệp chương trình (x86) / ICW. Tôi đã thoát khỏi điều này, nhưng nếu tôi đang làm lại, tôi sẽ sử dụng một tên thư mục không có khoảng trắng.

  5. Những nguồn khác đã giúp tôi tìm ra mọi thứ:

    Một cách khác để thiết lập máy chủ Git trên Windows:

    http://code.google.com.vn/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    Phía khách hàng của mọi thứ:

    http://toolmantim.com/ Dùts / setting_up_a_new_remote_git_Vposeective

    Một lời giải thích về Git như một máy chủ (không liên quan đến Windows, nhưng nhìn sâu hơn các bước cài đặt):

    http://progit.org/book/ch4-0.html

    Cộng với Kiểm soát phiên bản của O'Reilly với Git - chương Kho lưu trữ từ xa.

Nhìn lại, nếu tôi biết việc này sẽ tốn bao nhiêu thời gian, tôi có thể đã bắt đầu với Mercurial khi tôi đọc cài đặt trên Windows dễ dàng hơn, nhưng tôi sẽ có ý kiến ​​về việc sau khi tôi làm việc với Git một lúc rồi thử Mercurial .


Tôi đang gặp rắc rối với bước CopSSH. Liên kết đến CopSSH không còn nữa ... Tôi được chuyển hướng đến sourceforge.net/projects/sereds/files nơi tôi chỉ có thể tải xuống cwRsync_4.0.4_Installer.zip thay vì trình cài đặt CopSSH. Bất kỳ đề xuất?
dùng5243421

Đây là liên kết tôi đã sử dụng: itefix.no/i2/node/27
Steve

1
Tính đến tháng 11 năm 2011, Copssh là một giải pháp thương mại. Phiên bản 3.0.3 được cung cấp miễn phí.
mateuscb

20

Tôi không chắc tại sao mọi người không đề xuất http://gitblit.com . Giải pháp dựa trên java thuần túy, cho phép giao thức HTTP và thực sự dễ dàng để thiết lập.


Cảm ơn đã bỏ phiếu. Bạn có thể cung cấp lý do tại sao xuống bỏ phiếu cho nhận xét này? Xin được giá vé.
Pritesh Patel

Dự án tuyệt vời, thực hiện ngày của tôi, cảm ơn bạn.
Anderson Fortaleza

16

Sau khi làm theo hướng dẫn của Tim Davis và theo dõi của Steve, đây là những gì tôi đã làm:

Máy chủ PC

  1. Cài đặt CopSSH, msysgit.
  2. Khi tạo người dùng CopSSH, bỏ chọn Xác thực mật khẩu và kiểm tra Xác thực khóa công khai để khóa công khai / riêng tư của bạn sẽ hoạt động.
  3. Tạo khóa công khai / riêng bằng PuTTygen. đặt cả hai khóa trong thư mục CopSSH / home / user / .ssh của người dùng.
  4. Thêm phần sau vào tệp CopSSH / home / user / .bashrc của người dùng:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Mở Git Bash và tạo một kho lưu trữ ở bất cứ đâu trên PC của bạn:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

Máy khách

  1. Cài đặt msysgit.
  2. Sử dụng khóa riêng bạn đã tạo trên máy chủ để sao chép repo của bạn từ ssh: // user @ server: port / repopath / repo.git (vì một số lý do, root là ổ C:)

Điều này cho phép tôi sao chép và cam kết thành công, nhưng tôi không thể đẩy lên repo trần trên máy chủ. Tôi tiếp tục nhận được:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Điều này dẫn tôi đến dấu vết và giải pháp của Rui là tạo hoặc thêm các dòng sau vào .gitconfig trong đường dẫn % USERPROFILE% của PC khách của bạn (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

Tôi không chắc tại sao điều này lại cần thiết ... nếu bất cứ ai có thể cung cấp cái nhìn sâu sắc, điều này sẽ hữu ích.

phiên bản git của tôi là 1.7.3.1.msysgit.0


8

GitStack sẽ đáp ứng mục tiêu của bạn. Tôi có một thiết lập thuật sĩ. Nó miễn phí cho 2 người dùng và có giao diện người dùng dựa trên web. Nó dựa trên msysgit.


1
Giá từ trang web GitStack: Miễn phí cho tối đa 5 người dùng, $ 299 / năm cho 6-10 người dùng, $ 499 / năm cho 11-25 người dùng, v.v., lên đến $ 2999 / năm cho 500 người dùng.
Simon Tewsi

1
GitStack hiện chỉ miễn phí cho tối đa 2 người dùng.
M4N

Vì vậy, 1 người dùng cho người đang thiết lập máy chủ, 1 người dùng cho khách hàng truy cập máy chủ. Giới hạn này là quá nghiêm ngặt. Một nhóm gồm 2 nhà phát triển quá nhỏ trong thế giới thực.
ZhaoGang

7

Có một ngăn xếp Git mã nguồn mở tốt đẹp được gọi là Git Blit. Nó có sẵn cho nền tảng khác nhau và trong các gói khác nhau. Bạn cũng có thể dễ dàng triển khai nó vào Tomcat hiện tại của bạn hoặc bất kỳ thùng chứa servlet nào khác. Hãy xem Setup git server trên windows trong vài cú nhấp chuột để biết thêm chi tiết, bạn sẽ mất khoảng 10 phút để có được thiết lập cơ bản.


Làm việc như người ở. Cảm ơn rất nhiều.
AndroidDev

Xin chào, tôi rất vui vì điều này hữu ích
Ruslan Platonov

Đây là một lựa chọn tốt. dễ sử dụng cho tôi Chưa thử nghiệm một cam kết git từ xa, nhưng tôi cho rằng nó sẽ hoạt động. BTW, liên kết không còn có sẵn nữa.
ZhaoGang

Liên kết không còn tồn tại.
Shihe Zhang

3

Bạn không cần SSH để chia sẻ git. Nếu bạn đang sử dụng mạng LAN hoặc VPN, bạn có thể xuất dự án git dưới dạng thư mục dùng chung và gắn kết nó trên máy từ xa. Sau đó định cấu hình repo từ xa bằng cách sử dụng URL "file: //" thay vì URL "git @". Mất tất cả 30 giây. Làm xong!


2

Có thể đơn giản là không có một hướng dẫn như vậy. Nếu vậy, bạn có thể không có nhiều may mắn để thuyết phục bất cứ ai viết một bài, bởi vì nó sẽ là rất nhiều công việc.

Tôi muốn giới thiệu một trong hai điều. Cách dễ dàng hơn là làm theo hướng dẫn mà bạn có một cách mù quáng, điều đó có nghĩa là quên đi msysgit.

Cái khó hơn là thiết lập máy chủ Linux - có thể là khách trong Windows bằng VirtualBox (miễn phí) hoặc VMWare hoặc Parallels (trả tiền), sau đó làm theo một trong nhiều bộ hướng dẫn mà Google sẽ hướng dẫn bạn. Nhưng bạn có thể sẽ thấy những hướng dẫn đó là không đủ - họ thường cho rằng bạn đã thiết lập máy chủ ssh, ví dụ, vì vậy bạn phải lấy thông tin đó ở nơi khác. Tôi đã làm điều đó hai lần và có thể nói rằng trừ khi bạn đã là một người của Linux, nó sẽ là một cuộc đấu tranh.


1

Tôi đã làm những gì Bob Murphy đề xuất là tùy chọn "cứng".

Tôi đã cài đặt Ubuntu trong VMWare Server (miễn phí) tại nơi làm việc và sau đó làm theo hướng dẫn này để thiết lập Gitosis. Tôi thấy nó dễ dàng hơn nhiều so với việc cố gắng đưa nó vào Windows. Khi thiết lập xong, bạn thực sự không cần phải chạm vào nó vì quản trị Gitosis có thể được thực hiện từ Windows bằng cách đẩy các phiên bản cập nhật của tệp gitosis.conf. Bất kỳ công việc nào tôi cần làm trực tiếp trên máy chủ đều được thực hiện thông qua PuTTY vì vậy tôi không phải sử dụng giao diện VMWare Server khủng khiếp.

Gần đây tôi đã gặp rắc rối với VirtualBox ở nhà và tôi thấy nó hoạt động dễ dàng hơn / dễ dàng hơn so với VMWare Server, vì vậy có thể đáng để xem xét điều đó.


1

Tôi chỉ muốn thêm trải nghiệm của mình với thiết lập PATHStevetimc đề cập ở trên: Tôi gặp vấn đề về quyền sử dụng các công cụ shell (như mvcp ) có trình thực thi shell của Git trước tiên trong đường dẫn.

Thay vào đó, việc áp dụng chúng sau PATH hiện tại đã giải quyết vấn đề của tôi. Thí dụ:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Tôi đoán CopSSH không phù hợp với tất cả các chương trình thực thi shell của msysgit ...


0

Tôi đang sử dụng GitWebAccess cho nhiều dự án trong nửa năm nay và nó đã được chứng minh là tốt nhất trong những gì tôi đã thử. Tuy nhiên, dường như các nguồn gần đây không được hỗ trợ, vì vậy - không lấy các tệp nhị phân / nguồn mới nhất. Hiện tại họ đang bị hỏng :(

Bạn có thể xây dựng từ phiên bản này hoặc tải xuống các tệp nhị phân được biên dịch mà tôi sử dụng từ đây .

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.