这是不是关于隐藏.git
文件夹的问题 !!我怎样才能生成git的* FILE *和它是如何的(de)构建的?
我的理解
我通常使用GitHub的大多数我的Git的工作。当与远程服务器的工作,可能我我推,并获取这样配置:
$git remote -v
origin [email protected]:<my_org>/<my_repo>.git (fetch)
origin [email protected]:<my_org>/<my_repo>.git (push)
这里的问题是专门关于<my_org>/<my_repo>.git
文件。
我知道它“包含”存储库所需的所有机器:文件,索引,挂钩,引用等。我一直在“想象”它是一个分层的zip文件,实质上就是整个存储库,因为它会在本地看,如果我要压缩一切。
我的问题
- 我的理解是否正确?是
<blah>.git
文件只是一个仓库的拉链?我如何生成它? - 为了构建/解构它,每次我要么
git init
和git push
或每次我git clone
git做什么? (这是真的只是一个压缩和解压?) - 有什么办法来创建这个结构我自己?例如,是this GitHub上是如何做的对他们的最终(或多或少)?
- 我可以使用相同的
git init -g
命令或类似的东西来创建.git
文件。
- 我可以使用相同的
- 此
<blah>.git
文件的文档(超出上面的链接)在哪里?- 我搜索了一会儿,但
".git"
上的所有内容都会显示隐藏的目录,而不是文件。
- 我搜索了一会儿,但
- 如果我在我的机器上创建了这个
<blah>.git
文件,其他人可以使用我的机器作为远程存储库吗?- 换句话说,我怎么会创造一个机和文件/文件夹结构,像别人远程仓库?
你的问题似乎很广泛,但如果你只是想将一个版本库复制到一个新的位置,你只需要复制'.git'文件夹即可。 –
正如@ElpieKay所说,它不是一个文件,而是一个目录。裸存储库'foo.git'的内容与非裸存储库'foo'中'.git'的内容相匹配,只是'config'文件的'core.bare'设置为'true'。 (但是从现有的非纯粹克隆中设置它的最好方法是'git clone --bare',也可以设置'core.shared'。)要将它用作服务器,您的机器必须允许一些访问类型,无论是ssh,http,通过'git://'协议,或其他。 – torek