创建带工作区的版本库
在开始一个新项目时,首先就要创建并初始化代码库。如果是在本机的工作目录中,那么:
$ git init
也就够用了。如果想要初始化的版本库不在当前目录,需要为 git init 命令指定版本库所在的目录:
$ git init hello
执行完命令,在当前目录或您指定的目录下会创建一个名为 .git 的目录,这就是版本库了。
带工作区的版本库主要用于日常工作。其工作模式为:先把代码提交到本地的版本库中,然后通过本地库推送到服务器上的版本库中。
创建裸版本库
相对于带工作区的版本库,裸版本库主要存在于服务器上,作为集中式的版本仓库存在。因为没有人会在服务器上修改代码并提交,所以这类版本库不需要工作区。当然其创建方式也略微不同与带工作区的版本库。
$ git init --bare
选项 --bare 用于创建裸版本库,打开当前目录您会看到 git 创建了一些目录和文件。
为了方便查看,一般会把裸版本库的目录名称中加上 .git 后缀:
$ git init –bare hello.git
这样无论是看起来还是使用起来都清晰了很多。
使用已有库初始化裸版本库
由于裸版本库没有工作区,所以无法直接把代码提交到裸版本库中。通用的做法是先克隆裸版本库,在本地库中提交,然后推送到裸版本库中。
那么,如何用已有的库去初始化裸版本库呢?
条条大道通罗马,我们可以通过不同的方式来实现。
方法 1,从现有库克隆出来一个裸版本库:
$ git clone –bare hello hellobare.git
用 git log 命令查看版本库 hellobare.git,它的历史记录和版本库 hello 是一样的。
方法 2,把已有库推送到裸版本库:
$ git push –all hellobare2.git
用 git log 命令查看 hellobare2.git 库,它的历史记录和版本库 hello 也是一样的。