Pro Git
professional version control
This is an in-progress translation.
To help translate the book, please fork the book at GitHub and push your contributions.
To help translate the book, please fork the book at GitHub and push your contributions.
Chapter 4
服务器上的 Git
到目前为止,你应该已经学会了使用 Git 来完成日常的工作。然而,如果想与他人合作,还需要一个远程的 Git 仓库。尽管技术上可以从个人的仓库里推送和拉取改变,但是我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在自己不开机的时候也能从仓库获取数据——拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我们将把这个仓库称为 “Git 服务器”;代理一个 Git 仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行。
架设一个 Git 服务器不难。第一步是选择与服务器通讯的协议。本章的第一节将介绍可用的协议以及他们各自的优缺点。下面一节将介绍一些针对各个协议典型的设置以及如何在服务器上运行它们。最后,如果你不介意在其他人的服务器上保存你的代码,又不想经历自己架设和维护服务器的麻烦,我们将介绍几个网络上的仓库托管服务。
如果你对架设自己的服务器没兴趣,可以跳到本章最后一节去看看如何创建一个代码托管账户然后继续下一章,我们会在那里讨论一个分布式源码控制环境的林林总总。
远程仓库通常只是一个 纯仓库(bare repository) ——一个没有当前工作目录的仓库。因为该仓库只是一个合作媒介,所以不需要从一个处于已从硬盘上检出状态的快照;仓库里仅仅是 Git 的数据。简单的说,纯仓库是你项目里 .git
目录的内容,别无他物。