通常如果一个仓库作为远程仓库使用的时候,我们初始化的时候通常是git init --bare,首先解释一下这个bare,它翻译成汉语即"裸的",他之会生成一类文件,用于记录版本库历史记录的.git目录下面的文件,而不会包含实际项目源文件的拷贝,因此该版本库不能称为工作目录(working tree)。
当不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本记录文件就存放在.git目录下,而使用--bare选项时,就不再生成.git目录,而只是生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面。
使用git init初始化的版本库用户也可以在该目录下执行所有git方面的操作,但是别的用户在将更新push上来的时候容易出现冲突。如果远端仓库正在使用某个分支,而我们又要把更新提交到这个分支上,就可能会出错。当然,如果我们是向远程仓库中的空闲分支上提交,还是不会有问题的。
我们通常的解决办法就是使用git init --bare来创建一个裸仓库,之所以叫做裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果我们进行其他操作的话,会得到诸如This operation must be run in a work tree。
本文发布于:2024-02-03 00:58:53,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170689314347619.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |