我开始使用Git和我的项目VCS。 我创建了使用远程回购
git init --bare
在/代码回购并推动当地回购改变那里。 然后我想将项目文件从那里移动到/ var / WWW /项目成为HTTP访问:// ......。 但我没有看到任何项目文件(index.php文件,CSS / ......)在/代码回购复制它们,也仅是git的文件和文件夹存在。 在哪里他们?
我开始使用Git和我的项目VCS。 我创建了使用远程回购
git init --bare
在/代码回购并推动当地回购改变那里。 然后我想将项目文件从那里移动到/ var / WWW /项目成为HTTP访问:// ......。 但我没有看到任何项目文件(index.php文件,CSS / ......)在/代码回购复制它们,也仅是git的文件和文件夹存在。 在哪里他们?
纯仓库没有结帐。 也就是说,纯仓库只能容纳提交的信息 - 它不保留实际的文件的副本磁盘上的存储库文件夹内。
裸仓库只能推或拉离。 要获得这些文件的保留,你最好的选择可能是克隆的裸库(作为非裸克隆),并运行在克隆结帐。
另一种选择,如果你感觉勇敢,是纯仓库转换成非纯仓库( 如何转换裸git仓库到一个正常的(原地)? )
将文件从一个裸仓库的副本,你可以使用git存档
GIT_DIR=~/BARE_REPO git archive --format tar master | tar xvf -
git的归档命令将转换目标提交(marter,例如)到焦油格式,并且发送到标准输出。 你可以把它管到tar命令立即提取。
另一种方式是只签出库。
git checkout ~/BARE_REPO myproject
然而,它不适合这整个目录放入你的Web服务器。 否则,你的整个.git目录将访问。 任何人都可以得到你的源代码,并完成提交历史(当然,你可以阻止通过的.htaccess或nginx的设置这些访问)。
纯仓库没有所谓的工作目录 ,因此不会有任何文件系统对象。
混帐仍保持的内容跟踪,承诺,标签等,但它们存储的地方包装。 当您在nonbare库的git结帐 ,git的更新索引(资源库中的文件),以反映给定的参数树十岁上下的对象。