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。