2013-12-16 128 views
0

我有一个正常工作的git仓库。它在服务器上,我和3个朋友ssh到这个服务器来处理这个仓库,每个仓库都有你自己的用户(但仓库是用不同的用户创建的)。git仓库停止工作

所以,现在,它根本不能工作了。

当我们尝试运行

git status 

我们有后续消息

致命的:不是git仓库(或任何父目录):git的

但是,如果我们运行

sudo git status 

它正常工作。

所以,我认为我有我的权限的简单问题,但我已经检查,一切似乎确定。

也许,我应该做一些事情告诉git这个存储库是共享的(因为我们是4人在同一个存储库上工作),但我不知道如何做到这一点。

+2

大,你只解决了自己的问题,你的GIT目录/配置文件具有不良的权限,这不允许非root用户访问它们,而root用户确实可以访问它们。 – nrathaus

+3

git是**分布式** VCS。为什么你们都在同一份回购协议中工作? – geoffspear

+0

@nethaus,但.git目录和其中的所有文件的权限都可以。你有没有消化? Takes –

回答

0

不知何故,你破坏了.git目录的权限。

在一个外壳,看看权限:

ls -la 
# example 
drwxr-xr-x 8 some_user some_group 4.0K Apr 1 13:37 .git 

东西你的平台上应该是腥。 some_user可能是root,所以可能是some_group。您可以将目录的所有者更改为用户:

chown -R $USER .git 

更改组:

chgrp -R users .git 

而且权限:

chmod -R u=rwx .git // owner gets read, write, execute permissions 
chmod -R g=rx // group gets read, write, 
chmod -R o=x // others get just execute  
+0

我做了'chmod -R g = rwx'而不是'g = rx',它工作。但是这很奇怪......为什么它停止工作?在今天之前,它运行良好。我认为它可以再次到达。 –

+0

@VitorLima你是否用'sudo'执行过任何改变所有权的操作?你是否使用'sudo'克隆版本库?所有这些都可能造成这种情况。 – pmr

+0

我没有用sudo克隆。也许我可以做一些超级用户的操作,我正在考虑。但是,无论如何,谢谢你帮助我。 –