在使用 `git init` 时可以添加一个参数 `git init --bare` 以创建一个 bare git仓库,那什么是 bare Git 仓库呢... 背景 今天,坐我旁边的同事问我一些关于服务器上命令的问题。其中有一个用了特
背景
今天,坐我旁边的同事问我一些关于服务器上命令的问题。其中有一个用了特殊参数的 git init
的命令,我也不认识,遂去 Google...
A bare Git repository is typically used as a Remote Repository that is sharing a repository among several different people.
什么是 bare Git 仓库呢?简单来说,就是在 Git 服务器上的那个远程 Git 仓库,客户端可以对其进行 push、pull 等操作。
git init --bare
以上命令会创建一个 bare git 仓库。
bare git 仓库 vs 普通 git 仓库bare git 仓库与使用 git init
命令创建的普通 git 仓库唯一区别就是:bare git 仓库没有工作目录/工作树,仅仅是包含着了裸仓库数据。
下面我们新建两个文件夹 bare-git-repo
和 normal-git-repo
,分别用 git init --bare
和 git init
去初始化看下效果:
可以发现,git status
命令在 bare git 仓库中根本无法使用。而且 bare git 仓库是没有 .git/
文件夹的,所有配置文件是直接就存在文件夹的根路径下面的。
与 git init --bare
命令类似,我们也可以在使用 git clone
时通过添加 --bare
参数来创建一个 bare git 仓库而不是普通的 git 仓库。