关于远程仓库
在版本控制系统上,大约90%的操作都是在本地仓库(local repository)中进行的:暂存,提交,查看状态或者历史记录等等。除此之外,如果仅仅只有你一个人在这个项目里工作,你永远没有机会需要设置一个远程仓库(remote repository)。
只有当你需要和你的开发团队共享数据时,设置一个远程仓库才有意义。你可以把它想象成一个 “文件管理服务器”,利用这个服务器可以与开发团队的其他成员进行数据交换。
现在让我们来看一下本地仓库与远程仓库之间的区别吧:
位置
本地仓库位于每一个团队成员的本地计算机上。相反,远程仓库则被设置在一个能被所有团队成员访问到的远程服务器上,基本上都是在互联网上或者是本地局域网中。
特点
从技术上讲,一个远程仓库和一个本地仓库并不存在很大差异。和本地仓库一样,它包含分支,提交和标记。然而,本地存储库存在一个与之相关的工作副本(working copy),就是你当前的工作目录。其中包括了你从项目中签出的一些版本文件。而一个远程仓库就不包含任何工作目录,它仅仅是由一系列 “.git” 目录组成的。
创建
你有两种方法来创建一个本地仓库到你的本地计算机上,你可以新建一个空的仓库,或者是克隆一个已存在的远程仓库到你的本地计算机中。
创建一个新的远程仓库同样的也有两种方法。方法一,假如已经存在了一个本地仓库,并且你想以这个本地仓库作为远程仓库的基准,你使用 “--bare” 参数来可以克隆这个本地仓库。方法二,假如你想要新建一个空的远程仓库,你可以使用 “git init” 命令,并且同时也要加上 “--bare” 参数。
本地 / 远程工作流程
在 Git 中,仅仅存在一小部分应用在远程仓库上的命令。
绝大多数工作都是针对本地存仓库的。到现在为止(除去克隆命令 “git clone” 外),我们一直只是工作在我们本地仓库上,并且从没有离开过本地计算机。我们不依赖于任何互联网或局域网连接,完全是脱机工作的。
我们将会在本章的之后小节中来一起学习一些远程仓库上的命令。