2011-11-30 89 views
3

我正在开发一个项目,该项目需要我从主Windows机器上的VirtualBox上将Ubuntu作为开发服务器运行。我在Windows和Ubuntu VBox之间有一个共同的共享文件夹。该项目是在Yii PHP中构建的,我主要工作在前端代码上。 Git安装在Ubuntu上,我能够成功从项目的github存储库中获取内容。但是,当我尝试提交git时,问题就在于此。在VirtualBox上提交Git - 错误:无法写入sha1文件名

当我键入命令“混帐添加-A”,我得到以下错误:

error: unable to write sha1 filename 
.git/objects/e6/54703eed28d60e6f607eda24ffd2048bca83a6: Text file busy 

error: framework/i18n/data/ne_np.php: failed to insert into database 
error: unable to index file framework/i18n/data/ne_np.php 
fatal: updating files failed 

我已经尝试了许多变通办法,包括命令:

git config --add core.shareRepository group 

但我也最终会出现类似的错误。

有没有人有任何想法可能导致此? 谢谢。

+0

我不会使用共享文件夹,该文件夹是VBox中windows和ubuntu之间的git存储库。为什么你不只是在windows上使用git而在ubuntu上使用git并在双方上推/拉? - 编辑 - 造成这种情况的原因是文件可能被其他操作系统使用,或者只是存在权限问题。 – favoretti

回答

2

像Dropbox的同步文件夹中使用git或这通常是一个坏主意 - git似乎假定没有其他人试图同时触摸回购,不尝试以原子执行组的文件系统操作的,和你竞争条件喜欢这个。

不要把git repos放入自动同步的文件夹中。通过推/拉您的github分叉同步主机和虚拟机。

2

不要试图共享您的存储库。在VM和Windows主机上进行干净的检查。 Git的设计不是像这样共享的。

相关问题