之间有什么不同git initgit init --bare--bare他们的 Git 服务器?

手册页, 它说:

--bare

创建一个裸存储库。

但这实际上意味着什么呢?--bareGit 服务器设置?

答案

非裸 Git 存储库

此变体创建一个带有工作目录的存储库,以便您可以实际工作(git clone)。.git历史记录和所有 git 管道所在的文件夹。.git文件夹是。

裸 Git 存储库

另一种变体创建一个没有工作目录的存储库(git clone --bare)。.git上述情况下的文件夹。

为什么你会使用其中一种而不是另一种

对没有工作目录的 git 存储库的需求是,您可以将分支推送到它,并且它不管理某人正在处理的内容。

因此,在没有工作文件夹的项目中,您只能看到 git 存储的对象。git show然后指定您想要查看的对象的 sha1。

裸存储库通常是每个人将工作转移到的中央存储库。

如果您是唯一参与该项目的人或者您不想要/不需要"逻辑中央"存储库,则您可能不需要任何裸存储库。git pull 在这种情况下的其他存储库。

希望这可以帮助

来自: stackoverflow.com