Làm cách nào để có Github trên máy chủ của riêng tôi?


98

Có thứ gì ngoài đó như Github dành cho máy chủ cục bộ của riêng bạn không? Tôi tò mò liệu có giống như một tập lệnh PHP hoặc thậm chí một ứng dụng khách trên máy tính để bàn bắt chước chức năng của Github hay không, tôi thích Github nhưng sẽ rất tuyệt nếu lưu trữ trên máy chủ của riêng tôi.

Xin lỗi nếu điều này không được coi là đủ "lập trình" nhưng thường chỉ các lập trình viên sử dụng GIT và Github


Cập nhật

Trước hết, cảm ơn vì tất cả những gợi ý tuyệt vời, thật tuyệt khi thấy có những lựa chọn ngoài kia. Từ những gì được đăng ở đây và từ googling của tôi, tôi có thể nói rằng có vẻ như các giải pháp Github trông đẹp nhất / giống nhất được mã hóa bằng Ruby, điều này thật tuyệt đối với một số người nhưng tôi là một người thích PHP (hiện tại).

Hầu hết những người xem PHP GIT hoặc là các dự án đã lỗi thời và bị bỏ rơi hoặc chúng trông giống như tào lao (tôi nhận ra rằng tôi có thể sửa chúng để giống với Github hơn) nhưng tôi đã tìm thấy một thứ trong PHP có vẻ hứa hẹn cho đến nay. Nó được gọi là Glip, nó có trên Github tại đây https://github.com/patrikf/glip và đối với tôi nó là giải pháp hấp dẫn và dễ sử dụng nhất mà tôi tìm thấy cho PHP cho đến nay. Đối với người dùng Git nâng cao, điều đó có thể là chưa đủ nhưng đối với tôi, tôi chỉ muốn có thể xem một repo git và cung cấp chức năng đó.

Bây giờ tìm kiếm của tôi vẫn tiếp tục cho giải pháp hoàn hảo, liệu tôi có bao giờ tìm thấy nó không? Tôi hy vọng như vậy, nhưng hiện tại, đây là điều chúng tôi có. Tôi đang cân nhắc việc viết của riêng tôi, một cái hấp dẫn như Github và có các tính năng khác như Trình theo dõi vấn đề cho các yêu cầu về lỗi và tính năng. Tất cả những cái tôi đã thấy cho đến nay đều không tốt lắm


1
Tại sao bạn muốn lưu trữ nó trên máy chủ của riêng bạn? Máy chủ của Github rất nhanh và đáng tin cậy.
maek

54
Có thể vì anh ấy không muốn sử dụng dịch vụ của bên thứ 3. Có điều gì đó để nói về việc giữ dữ liệu của bạn cho riêng mình.
Noufal Ibrahim

1
chủ yếu để tôi có thể chạy nó từ máy chủ nhà phát triển của mình
JasonDavis

Bạn không thể có github, nhưng bạn có thể sử dụng các tập lệnh lưu trữ git như gitolite, gitosis hoặc gitorious.
CodesInChaos

7
Hoặc có thể do Microsoft mua Github.
keji

Câu trả lời:


74

GitHub Enterprise để thỏa mãn nhu cầu của bạn. Và có một "bản sao" mã nguồn mở của Github Enterprise.

PS: Giờ đây Github cung cấp kho riêng không giới hạn, bitbucket cũng làm như vậy. bạn có thể thử cả hai. Có một số giải pháp khác là tốt.


1
Chỉ cần nhận ra đó là Ruby, nó thực sự tốt đẹp mặc dù
JasonDavis

11
Bạn có thể chạy GitLab miễn phí trên máy chủ của riêng mình. GitHub Enterprise tốn rất nhiều tiền.
Công việc

GiteaGogs trông giống như GitHub. Câu trả lời của bạn là từ năm 2011 và có vẻ đã lỗi thời
SomethingSomething

30

Tôi khá ngạc nhiên là không ai đề cập đến dự án mã nguồn mở gogs (http://gogs.io) hoặc một nhánh dẫn xuất của nó được gọi là gitea (http://gitea.io) , về cơ bản cung cấp cùng những gì gitlab làm, nhưng với tài nguyên hệ thống tối thiểu (dấu chân thấp), hoàn hảo để chạy trong Raspberry Pi chẳng hạn. Cài đặt và bảo trì cũng đơn giản hơn.




9

Bạn có rất nhiều tùy chọn để chạy máy chủ git của riêng mình,

  1. Máy chủ Bitbucket

    Bitbucket Server không miễn phí, nhưng không tốn kém. Bạn chỉ mất một lần duy nhất (10 đô la tính đến thời điểm hiện tại). Bitbucket là một lựa chọn tốt nếu bạn muốn có một giải pháp lâu dài.

  2. Gitea ( https://gitea.io/en-us/ )

    Gitea là một dự án mã nguồn mở. Nó đa nền tảng và nhẹ. Bạn có thể sử dụng nó mà không tốn bất kỳ chi phí nào. ban đầu được phân nhánh từ Gogs ( http://gogs.io ). Đây là giải pháp lưu trữ mã nhẹ được viết bằng Golang và được phát hành theo giấy phép MIT. Nó hoạt động trên Windows, macOS, Linux, ARM và hơn thế nữa.

  3. Gogs ( http://gogs.io )

    Gogs là một dự án mã nguồn mở và tự lưu trữ có khoảng 32k sao trên github. Bạn có thể thiết lập Gog miễn phí.

  4. GitLab ( https://gitlab.com/ )

    GitLab là phần mềm quản lý kho lưu trữ Git miễn phí, mã nguồn mở và dựa trên web. Nó có wiki, theo dõi vấn đề và các tính năng khác. Mã ban đầu được viết bằng Ruby, với một số phần sau đó được viết lại bằng Golang. GitLab Community Edition (CE) là nền tảng phát triển phần mềm end-to-end mã nguồn mở tích hợp sẵn tính năng kiểm soát phiên bản, theo dõi sự cố, xem xét mã, CI / CD, v.v. Tự lưu trữ GitLab CE trên máy chủ của riêng bạn, trong vùng chứa hoặc trên nhà cung cấp đám mây.

  5. GNU Savannah ( https://savannah.gnu.org/ )

    GNU Savannah là phần mềm mã nguồn mở và miễn phí của Tổ chức Phần mềm Tự do. Nó hiện cung cấp CVS, GNU Arch, Subversion, Git, Mercurial, Bazaar, danh sách gửi thư, lưu trữ web, lưu trữ tệp và các dịch vụ theo dõi lỗi. Tuy nhiên, phần mềm này không dành cho người dùng mới. Cần một chút thời gian để thiết lập và thành thạo mọi thứ về nó.

  6. GitPrep ( http://gitprep.yukikimoto.com/ )

    GitPrep là bản sao Github. bạn có thể cài đặt hệ thống GitHub di động vào UNIX / Linux. Bạn có thể tạo người dùng và kho lưu trữ không giới hạn. Đây là phần mềm miễn phí.

  7. Kallithes ( https://kallithea-scm.org/ )

    Kallithea, một dự án thành viên của Software Freedom Conservancy, là hệ thống quản lý mã nguồn Phần mềm Miễn phí GPLv3'd, hỗ trợ hai hệ thống kiểm soát phiên bản hàng đầu, Mercurial và Git, đồng thời có giao diện web dễ sử dụng cho người dùng và quản trị viên. Bạn có thể cài đặt Kallithea trên máy chủ và kho lưu trữ của riêng mình cho hệ thống kiểm soát phiên bản mà bạn chọn.

  8. Tuleap ( https://www.tuleap.org/ )

    Tuleap là một phần mềm phát triển & quản lý nhanh Tất cả trong một, 100% mã nguồn mở. Bạn có thể cài đặt nó trên docker hoặc máy chủ CentOS.

  9. Phacility ( https://www.phacility.com/ )

    Phapterator là mã nguồn mở và bạn có thể tải xuống và cài đặt nó cục bộ trên phần cứng của riêng bạn miễn phí. Cài đặt mã nguồn mở là một cài đặt hoàn chỉnh với bộ tính năng đầy đủ.




4

Tôi cũng đã tìm kiếm các triển khai git PHP, nhưng không có kết quả. Cách duy nhất để tạo lại một trang web tương tự như GitHub là thiết lập một máy chủ git "thực" trên máy chủ của riêng bạn và sau đó sử dụng một máy khách web git PHP như http://www.xiphux.com/programming/gitphp/ .

Thật không may, bạn có thể quên làm điều này với một giải pháp lưu trữ. Bạn cần một máy chủ ảo thực sự, nơi bạn có thể cài đặt mọi thứ bạn muốn.

Tuy nhiên, nếu bạn cần một nơi lưu trữ một số mã cá nhân, không công khai, không thể truy cập cho tất cả mọi người cho một dự án, bạn có thể thử BitBucket. Nó cung cấp các kho git riêng tư và được chia sẻ miễn phí.


hiện tại, tôi chủ yếu muốn máy chủ nhà phát triển của mình để điều này có thể tốt
JasonDavis

4

Atlassian's Stash (Hiện được gọi là Máy chủ BitBucket) đang trở thành một giải pháp thay thế Github Enterprise tốt. Tôi là một con điếm JIRA vì vậy tôi thích sự tích hợp mà bạn có với điều đó.


9
Bạn là một JIRA những gì?
Ruby Racer,

@RubyRacer Tôi đoán rằng nên người :) đang
Alex Ivasyuv

//, Ngoại trừ việc bạn không thể hủy hợp nhất các PR. Mà bạn có thể, trong GH. Nhờ có Stash, tôi sẽ mất khoảng 8 giờ đồng hồ trong một hợp đồng với một nhà sản xuất xe công nghệ cao lớn.
Nathan Basanese

3

Có, có GitHub Enterprise :)

https://enterprise.github.com

Chỉ có vấn đề là nó hơi đắt :(


1
bản cập nhật năm 2020 - Giờ đây, bạn có cộng tác viên không giới hạn trong kho lưu trữ riêng tư như một phần của gói GitHub Miễn phí của mình. Giá hàng tháng cho gói Pro của chúng tôi đã được giảm từ $ 7 / tháng xuống còn $ 4 / tháng. Giá hàng tháng cho gói Nhóm trả phí của chúng tôi đã được giảm từ $ 9 / người dùng xuống còn $ 4 / người dùng.
warfish


2

Bạn đang tìm kiếm những tính năng nào trong github?

Nếu bạn không muốn cộng tác, yêu cầu kéo, v.v. mà chỉ muốn kho lưu trữ của riêng bạn có thể xem được, git instawebsẽ tạo ra thứ gì đó cho bạn.


Vâng tôi khá nhiều giống như việc có thể để mã nguồn trình duyệt một cách dễ dàng
JasonDavis

Git instaweb lúc đó sẽ là quá đủ. Bạn nhận được nhiều chi tiết hơn so với chế độ xem mặc định github nhưng nó ít "web 2.0" hơn.
Noufal Ibrahim



1

Bạn có thể chạy Git (không phải toàn bộ Github) qua Máy chủ Apache HTTP, để bạn lưu trữ kho Git trên hệ thống tệp của máy chủ và hiển thị nó qua HTTP. Bạn nhận được tất cả các chức năng của Git, nhưng rõ ràng là bạn sẽ không thể pull-requesthoặc theo dõi các vấn đề. Bất kỳ công cụ nào được đính kèm với kho lưu trữ Git tự lưu trữ của bạn đều có thể triển khai các tính năng còn lại.

Tham khảo: http://git-scm.com/docs/git-http-backend


Nếu bạn có thể, tôi thực sự khuyên bạn nên chọn con đường này. Bằng cách tự lưu trữ dịch vụ, bạn không phụ thuộc vào bên thứ ba.
Phil

0

Ngoài ra bạn có thể cài đặt Trác . Nó không chỉ là một máy chủ Git, nó có các tính năng khác như quản lý vé và quản lý dự án. Ngoài ra, nó có khả năng mở rộng nó thông qua các plugin.

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.