我怎样才能在自己的服务器上使用 Github?

有没有像 Github 一样适用于本地服务器的东西?我很好奇是否有一个 PHP 脚本,甚至是一个桌面客户端,模仿 Github 的功能,我喜欢 Github,但它会很好主机在我自己的服务器上。

如果这还不够“编程”的话,我道歉,但通常只有程序员才使用 GIT 和 Github


更新

首先感谢所有伟大的建议,它是伟大的,看到有选择在那里。从这里发布的内容和我在谷歌上的搜索,我可以说,看起来最好看/最像 Github 的解决方案是用 Ruby 编写的,这对某些人来说很棒,但我是一个 PHP 类型的家伙(目前)。

大多数 PHP GIT 查看器要么是过时的和被遗弃的项目,要么看起来就像垃圾(我意识到我可以把它们修复得更像 Github) ,但是我在 PHP 中遇到了一些看起来很有前途的东西。它被称为 Glip,它是在 Github 这里 https://github.com/patrikf/glip,对我来说,它是最有吸引力的,易于使用的解决方案,我已经找到了 PHP 到目前为止。对于高级 Git 用户来说,这可能还不够,但是对于我来说,我只是想能够查看一个 Git 回购,并且它提供了这个功能。

现在我仍在继续寻找完美的解决方案,我会找到它吗?希望如此,但是现在,我们只有这个。我正在考虑编写自己的程序,一个像 Github 一样有吸引力的程序,并且还有其他特性,比如针对 bug 和特性请求的问题跟踪程序。到目前为止我看到的都不是很好

211192 次浏览

是的,还有 GitHub Enterprise:)

Https://enterprise.github.com

唯一的问题是它有点贵:

GitHub 企业版满足您的需要

PS: 现在 Github 提供了无限的私有存储库,一个 href = “ https://bitbucket. org”rel = “ nofollow noReferrer”> bitbucket 做同样的事情。还有其他一些解决方案。

我也搜索了 git PHP 实现,但没有结果。重新创建一个类似于 GitHub 的站点的唯一方法是在您自己的服务器上设置一个“真正的”git 服务器,然后使用一个 PHP git Web 客户端,如 http://www.xiphux.com/programming/gitphp/

不幸的是,您可能会忘记使用托管解决方案进行此操作。您需要一个真正的虚拟服务器,在那里您可以安装所有您想要的东西。

但是,如果您需要一个地方来存储一些个人的、非公开的、不对所有人开放的项目代码,您可以尝试 BitBucket。它免费提供私人和私人共享的 git 回购协议。

如果您必须使用 GitHub,那么可以使用前面提到的企业版本。

如果你想为你的公司寻找运行中央 Git 服务器的替代方案,你可以试试 Gitolite。

Https://github.com/sitaramc/gitolite
Https://github.com/sitaramc/gitolite/wiki/

你在寻找 Github 的哪些特性?

如果你不想要协作,拉请求等,但只是希望你自己的仓库是可见的,git instaweb会为你创建一些东西。

有一些开源的替代方案:

你应该看看这个: http://gitlist.org/

它是用 PHP 编写的,就像您希望的那样。

你可以通过 Apache HTTP Server 运行 Git (而不是整个 Github) ,这样你就可以在服务器的文件系统上托管 Git repo,并通过 HTTP 公开它。 您可以获得所有的 Git 功能,但是显然不能使用 pull-request或跟踪问题。任何附加到自托管 Git repo 的工具都可以实现其余的特性。

参考资料: http://git-scm.com/docs/git-http-backend

我试了完全是命令行的 Gitosis,然后选择了这个。

作为一个 Java 爱好者,我也对 Gitblit感兴趣。

Community Edition 缺少很多重要的特性,比如钩子。我推荐使用 Gerrit。它是轻量级的、开源的。

我很惊讶没有人提到 开源项目 戈格斯(Gogs) ,美国前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统,前总统或者它的衍生分支 吉塔(gitea.io),它基本上提供了和 gitlab 相同的功能,但是只有最少的系统资源(低占用) ,例如,在 Raspberry Pi 中运行非常完美。安装和维护也更简单。

Gitlab 让他们的服务可以在你自己的服务器上免费运行。 Https://about.gitlab.com/downloads/

您有很多选项可以运行自己的 git 服务器,

  1. Bitbucket 服务器

    Bitbucket 服务器不是免费的,但并不昂贵。它只花费你一次(到现在为止10美元)。如果你想要一个持久的解决方案,Bitbucket 是一个不错的选择。

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

    Gitea 是一个开源项目。它是跨平台和轻量级的。你可以免费使用它。最初从高格斯分叉(http://gogs.io)。它是在 Golang 编写的轻量级代码托管解决方案,在麻省理工学院许可下发布。它可以在 Windows,macOS,Linux,ARM 等操作系统上运行。

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

    Gogs 是一个自托管的开源项目,在 github 上有大约32000颗星星。你可以免费设置 Gogs。

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

    GitLab 是一个免费的、开源的、基于网络的 Git 仓库管理软件。它有一个 wiki、问题跟踪和其他特性。代码最初是用 Ruby 编写的,后来在 Golang 重写了一些部分。GitLab Community Edition (CE)是一个开源的端到端软件开发平台,具有内置的版本控制、问题跟踪、代码审查、 CI/CD 等功能。在自己的服务器、容器或云提供商上自主管理 GitLab CE。

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

    GNU 萨凡纳自由及开放源代码软件来自自由软件基金会。它目前提供 CVS、 GNU arch、 Subversion、 Git、 Mercurial、 Bazaar、邮件列表、 Web 托管、文件托管和 bug 跟踪服务。但是,这个软件不适合新用户。它需要一点时间来设置和掌握它的一切。

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

    GitPrep 是 Github 的翻版。您可以将便携式 GitHub 系统安装到 UNIX/Linux 中。您可以不受限制地创建用户和存储库。这是自由软件。

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

    卡利塞亚是软件自由保护协会的一个成员项目,是一个 GPLv3 d 自由软件源代码管理系统,支持两个领先的版本控制系统: Mercurial 和 Git,并有一个易于用户和管理员使用的网络界面。您可以在自己的服务器上安装卡利塞亚,并为自己选择的版本控制系统提供存储库。

  8. 图腾 (https://www.tuleap.org/)

    图腾是一个软件开发和敏捷管理的一体化,100% 开源。您可以将其安装在 docker 或 CentOS 服务器上。

  9. 能力 (https://www.phacility.com/)

    Phabricator 是开源的,你可以免费下载并安装在你自己的硬件上。开源安装是带有完整功能集的完整安装。

也可以安装 Trac。它不仅仅是一个 Git 服务器,它还有其他特性,比如票务管理和项目管理。它也有可能通过插件扩展它。