我对git有一个问题,我觉得这可能与权限有关。情况如下:我有两个分支,'主人'和'主题'。有问题的文件名为'settings.php',它具有权限r - rw-rw-,列出的所有者是我自己的用户名。我使用的是Ubuntu 10.4LTS。
我以下列方式提出问题:
完成上述步骤后,我收到错误'无法取消链接settings.php',并且我注意到该文件在master中也已更改。如果我这样做,也会发生这种情况,即。我在master中更改它,提交更改,并签出主题。然后,它不允许我更改回上一个分支,因为要提交更改。
我知道避免遇到此问题的唯一方法是使用$ sudo checkout [branchname]。这暂时避免了这个问题,但是如果我在没有sudo的情况下使用checkout,我会再遇到同样的事情,我不得不担心撤消当前分支中的所有更改。
有谁知道如何解决这个问题?我环顾四周,发现了与取消关联有关的问题,但没有人像我一样。
答案 0 :(得分:3)
首先,您不应该以root身份查看它。尝试将存储库权限更改回给您:
# chown -R yourname ~/path/to/your/gitrepo
如果您需要使用共享存储库,请查看--shait标志的'git init'手册。或者有很多谷歌点击群组设置,让你正确分享回购,但它是git版本依赖所以我不会在这里重述所有。你可能正在寻找的设置是这样的:
[core]
sharedrepository = 0660
(然后chgrp -R目录和目录上的chmod g + s)
答案 1 :(得分:0)
为什么有问题的文件对所有者只读?当你切换分支时,不允许Git重写内容或替换它。
答案 2 :(得分:0)
这是Daniel M的新名字。首先,文件权限实际上是rw-rw-r--。其次,igorw的评论非常有用。我没有父目录的写权限。一旦我添加了这个,我的问题就消失了。