我们是一个正在过渡到Git的networking开发公司。
最终我们打算在本地完全运行它,但目前我们有一个Linux服务器托pipe的开发网站,这也是Git仓库(我通过Tower在我自己的机器上创build的)。
我们的开发人员通过AFP(Mac)或Samba(Windows / Linux)连接到此服务器,并使用Tower和Sourcetree的组合来检查这些更改。
我们在这个服务器上的Web开发文件夹是共享和许可的,这样所有的读写操作都是以www-data用户的身份完成的。 不是以任何方式理想,也不是我在生产中做的事情,但它对我们有用。 大多….
每当尝试分阶段修改文件或提交它们时,都会收到以下错误消息:
fatal: unable to write new_index file
有时它只是“索引”,没有“new_”前缀。
我已经发现,以www数据用户的身份login到服务器,cd到项目中的.git文件夹,然后将索引重命名为其他内容并再次返回,通常会修复此问题。 之前和之后的权限(660)是正确的,但重命名技巧似乎工作。
除了在开发者自己的机器上运行Git /网站这个显而易见的长期目标之外,是否有解决scheme – 或者仅仅是不推荐远程pipe理Git仓库?
听起来就像你实际上在多个用户中共享相同的工作回购,这通常不是一个好主意:
我build议创build一个共享的裸git回购 (专为共享而devise)在同一个分区上,开发人员可以通过与当前回购相同的方式访问(大量信息,可以从https: //stackoverflow.com/questions/7632454/how-do-you-use-git-bare-init-repository ):
git clone
/ git pull
从这个裸回购到他们自己的本地工作仓库,在那里他们让git commit
他们的变化,然后git push
他们git push
回到共享回购 git pull
将会在上次git pull
之后在裸回购中推出的所有提交内容“刷新”内容(之后也可能需要重启httpd)