2014-09-03 47 views
1

我跑以下命令:git - 解包对象(在远程获取源文件)?在混帐回购协议</p> <pre><code>cd ~/my/projects/project1 mkdir .git git --bare init </code></pre> <p>地方:

远程

git remote add origin [email protected]:/home/user/my/projects/project1/.git 
git push origin master 

然后再推即回购,但其实我没有看到任何文件,我正在工作,只有.git文件夹。所以我想所有这些文件都打包好了?

所以远程我尝试这样做:

cd ~/my/projects/project1 
git unpack-objects --strict < .git/objects/pack/pack-d9017753a07899310a31f891c081ed63dd93e6f0.pack 
Unpacking objects: 100% (638/638), done. 

但我什么也没看到。那么,我怎样才能获得我在本地回购中的相同内容?

相同的我的意思是在~/my/projects/project1: 所有的文件夹和文件的源代码和.git文件夹内的远程回购。

在本地回购,它看起来像这样: ls -a

. base_location_extension crm_dc_extend   .git 
.. calendar_service   crm_location_extension hr_dc_extend 

在偏远的,它看起来像这样ls -a

. .. .git 

回答

0

你发起它没有工作树裸回购,你在git中误解了packing的概念。 Git打包对象(文件,树木,也称为目录快照,提交,ets。),因此它们占用磁盘空间更少。

+0

如何在不使用初始init的情况下推送?我尝试推空的远程文件夹,但它给了我错误,它不是git存储库 – Andrius 2014-09-03 12:10:11

+0

@Andrius当你推到远程时,它只会改变引用(分支和标签),以更新工作树,即HEAD,你会仍然需要结账分行。所以我建议你简单地从裸仓库克隆一棵工作树。 – 2014-09-03 12:15:37

+0

我明白,但我不需要在遥控器上节省空间。该遥控器用于远程测试代码,所以我想我可以配置遥控器来推动一切,并能够在那里立即测试我的代码。那么是否有一种方法可以简单地将所有内容从本地推送到远程或以某种方式解压缩它?我曾经做过'scp -r',但我认为git可能是更好的选择。刚才我不认为这可能是为了这个目的。 – Andrius 2014-09-03 12:16:29

相关问题