在一个分支中使用git:committed更改会影响'master'

时间:2011-03-14 14:16:41

标签: git drupal permissions

我对git有一个问题,我觉得这可能与权限有关。情况如下:我有两个分支,'主人'和'主题'。有问题的文件名为'settings.php',它具有权限r - rw-rw-,列出的所有者是我自己的用户名。我使用的是Ubuntu 10.4LTS。

我以下列方式提出问题:

  1. 查看主题分支
  2. 更改settings.php
  3. 将更改添加并提交给'主题'
  4. 使用以下命令结帐'master'分支:$ git checkout master
  5. 完成上述步骤后,我收到错误'无法取消链接settings.php',并且我注意到该文件在master中也已更改。如果我这样做,也会发生这种情况,即。我在master中更改它,提交更改,并签出主题。然后,它不允许我更改回上一个分支,因为要提交更改。

    我知道避免遇到此问题的唯一方法是使用$ sudo checkout [branchname]。这暂时避免了这个问题,但是如果我在没有sudo的情况下使用checkout,我会再遇到同样的事情,我不得不担心撤消当前分支中的所有更改。

    有谁知道如何解决这个问题?我环顾四周,发现了与取消关联有关的问题,但没有人像我一样。

3 个答案:

答案 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的评论非常有用。我没有父目录的写权限。一旦我添加了这个,我的问题就消失了。