什么是gitblit?

Gitblit是一个用来跟踪任意一组文件变化的软件,通常用来协调软件开发过程中程序员之间的源代码协作开发。

Git最初是由Linus Torvalds在2005年创建的,用于开发Linux内核,其他内核开发人员为其最初的开发做出了贡献。Junio Hamano自2005年以来一直是核心后卫。

与大多数其他分布式版本控制系统一样,与大多数客户机-服务器系统不同,每台计算机上的每个Git目录都是一个成熟的存储库,具有完整的历史和完整的版本跟踪能力,独立于网络访问或中央服务器。?Git是一个免费的开源软件许可证,仅在GPL-2.0下发布。

因为Git是一个分布式版本控制系统,所以它可以作为一个开箱即用的服务器来使用。它自带一个内置的命令GIT daemon,可以启动一个运行在GIT协议上的简单TCP服务器。

专用的Git HTTP服务器通过添加访问控制、通过Web界面显示Git存储库的内容以及管理多个存储库来提供帮助(以及其他功能)。现有的Git存储库可以被克隆和共享,供其他人用作集中式存储库。

也可以通过远程shell访问,只需安装Git软件并允许用户登录即可。?Git服务器通常监听TCP端口9418。

实现

git(C中的主要实现)主要在Linux上开发,虽然它也支持大多数主要的操作系统,包括BSD(DragonFly BSD、FreeBSD、NetBSD和OpenBSD)、Solaris、macOS和Windows。?

Git的第一个Windows端口主要是一个托管Linux版本的Linux模拟框架。

在Windows下安装Git会创建一个同名的Program Files目录,其中包含GNU编译器集合的Mingw-w64端口,Perl?5.MSYS2和各种其他Windows端口或仿真Linux实用程序和库。

目前,Git的本地Windows版本作为32位和64位安装程序分发。?Git官网目前维护了一个用于Windows构造的Git,仍然使用MSYS2环境。

Git的JGit实现是一个纯Java软件库,旨在嵌入到任何Java应用程序中。JGit用于Gerrit代码评审工具和EGit(Eclipse?IDE的Git客户端)。

Go-Git是用纯Go编写的Git的开源实现。它目前用于支持项目,作为Git代码库的SQL接口,并为Git提供加密。

Git的Dulwich实现是Python 2.7、3.4和3.5的纯Python软件组件。

Git的libgit2实现是一个ANSI C软件库,没有其他依赖,可以在多种平台上构建,包括Windows、Linux、macOS和BSD。它绑定了很多编程语言,包括Ruby、Python和Haskell。