之间有什么不同git init
和git init --bare
?--bare
他们的 Git 服务器?
从手册页, 它说:
--bare
创建一个裸存储库。
但这实际上意味着什么呢?--bare
Git 服务器设置?
答案
非裸 Git 存储库
此变体创建一个带有工作目录的存储库,以便您可以实际工作(git clone
)。.git
历史记录和所有 git 管道所在的文件夹。.git
文件夹是。
裸 Git 存储库
另一种变体创建一个没有工作目录的存储库(git clone --bare
)。.git
上述情况下的文件夹。
为什么你会使用其中一种而不是另一种
对没有工作目录的 git 存储库的需求是,您可以将分支推送到它,并且它不管理某人正在处理的内容。
因此,在没有工作文件夹的项目中,您只能看到 git 存储的对象。git show
然后指定您想要查看的对象的 sha1。
裸存储库通常是每个人将工作转移到的中央存储库。
如果您是唯一参与该项目的人或者您不想要/不需要"逻辑中央"存储库,则您可能不需要任何裸存储库。git pull
从在这种情况下的其他存储库。
希望这可以帮助