致命:./config中'core.sharedrepository'的配置错误

时间:2011-05-17 17:20:05

标签: git

我刚输入命令:git config core.sharedrepository 1,我现在收到错误:

  

致命:./config

中'core.sharedrepository'的配置错误

有没有人知道如何解决它?

5 个答案:

答案 0 :(得分:14)

当您为git config core.sharedRepository输入无效值时,它可能会连续失败,而不是让您使用此命令再次更新:

git core.sharedRepository group

在这种情况下,您需要打开.git / config文件并手动更改文件,如下所示:

[core]
    ...
    sharedRepository = group

答案 1 :(得分:11)

问题正是它所说的:1是该设置的无效值。您可能需要true

来自git-config man页面:

  

group(或true)时,存储库可在组中的多个用户之间共享(确保所有文件和对象都是可写组的)。当all(或worldeverybody)时,除了可分组之外,所有用户都可以读取存储库。当umask(或false)时,git将使用umask(2)报告的权限。当0xxx,其中0xxx是八进制数时,存储库中的文件将具有此模式值。 0xxx将覆盖用户的umask值(而其他选项将仅覆盖用户的umask值的请求部分)。示例:0660将使所有者和组可以读/写,但其他人无法访问(相当于组,除非umask是例如0022)。 0640是一个可读取组但不可写入组的存储库。请参阅git-init(1)。默认为假。

答案 2 :(得分:2)

尝试使用true代替1(请参阅Git-config

  

core.sharedRepository

     

当group(或true)时,存储库   在几个人之间分享   组中的用户(确保所有用户)   文件和对象是可写组的。   当所有(或世界或每个人),   存储库将是所有人都可读的   用户,除了存在   基团的可共享的。

答案 3 :(得分:1)

您可以检查,从1.8开始,任何配置的布尔值都可以设置为是/否,1/0,真/假或开/关。因此,在新版本中,相关问题不再发生,因为您可以在打印示例中向前检查,也可以在git-config手册中查看。

1.检查版本:

➜ a git:(master) git --version
git version 1.8.1.5

2.检查实际的分支配置列表:

➜ a git:(master) git config --list --local
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true

3.按照通知添加新配置:

➜ a git:(master) git config core.sharedrepository 1

4.检查是否已添加此配置:

➜ a git:(master) git config --list --local
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.sharedrepository=1

5.添加新配置以显示没有错误:

➜ a git:(master) git config user.name abv 

6.再次列出所有值:

➜ a git:(master) git config --list --local
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.sharedrepository=1
user.name=abv

7.将core.sharedrepository更改为其他有效的布尔值:

➜ a git:(master) ✗ git config core.sharedrepository on
➜ a git:(master) ✗ git config --list --local
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.sharedrepository=on
user.name=abv
  

变量赋值中的等号后面的值都是   字符串,整数或布尔值。布尔值可以给出为   是/否,1/0,真/假或开/关。大小写在布尔值中并不重要   使用--bool类型将值转换为规范形式时的值   符; git config将确保输出为“true”或   “假”。   http://git-scm.com/docs/git-config/1.8.1.5

答案 4 :(得分:0)

要解决此错误转到您的 git 项目并在此文件夹中找到文件夹 .git 用记事本或 notepad++ config 文件打开。

然后你会看到

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    sharedRepository = true

sharedRepository 更改为 true,然后就大功告成了。