bare Git 仓库是什么?

bare Git 仓库是什么?


背景

今天,坐我旁边的同事问我一些关于服务器上命令的问题。其中有一个用了特殊参数的 git init 的命令,我也不认识,遂去 Google...
bare Git 仓库是什么?

bare Git 仓库

定义

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 等操作。
bare Git 仓库是什么?

创建一个 bare Git 仓库

git init --bare 

以上命令会创建一个 bare git 仓库。

bare git 仓库 vs 普通 git 仓库

bare git 仓库与使用 git init 命令创建的普通 git 仓库唯一区别就是:bare git 仓库没有工作目录/工作树,仅仅是包含着了裸仓库数据。

下面我们新建两个文件夹 bare-git-reponormal-git-repo,分别用 git init --baregit init 去初始化看下效果:
bare Git 仓库是什么?

可以发现,git status 命令在 bare git 仓库中根本无法使用。而且 bare git 仓库是没有 .git/ 文件夹的,所有配置文件是直接就存在文件夹的根路径下面的。
bare Git 仓库是什么?

克隆时创建 bare git 仓库

git init --bare 命令类似,我们也可以在使用 git clone 时通过添加 --bare参数来创建一个 bare git 仓库而不是普通的 git 仓库。👇下面是一个使用 git clone --bare 命令通过克隆 gitignore 仓库在本地创建 git bare 仓库的实例。
bare Git 仓库是什么?

bare git 仓库的命名约定

从上面的截图中,我们不难发现,这个自动创建的仓库其文件夹名称为 gitignore.git,嗯这也是 bare git 仓库的标准命名方式。

结论:建议使用 xxxxxx.git 名字来命名 bare git 仓库的文件夹

发表评论

相关文章