致命:.git / config中“ core.sharedrepository”的错误数字配置值:无效单位(在Git Bash中)

Ash*_*yal 4 git config git-bash

表演时:

$ git push -u origin --all
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

remote: error: insufficient permission for adding an object to repository database ./objects
Run Code Online (Sandbox Code Playgroud)

我搜索了一下,并找到了Richard Hansen的解决方案。

我必须执行:

$ git config core.sharedRepository group
Run Code Online (Sandbox Code Playgroud)

相反,我将其执行为:

$ git config core.sharedRepository dev
Run Code Online (Sandbox Code Playgroud)

因为我以为我必须在实际命令中输入组的名称(此处“ dev”是具有用户的组的名称,名为“ gituser”)。

从那时起,每当我尝试在Git Bash中执行任何命令时,都说:

fatal: bad numeric config value 'dev' for 'core.sharedrepository' in .git/config: invalid unit
Run Code Online (Sandbox Code Playgroud)

为此,我也在此链接中找到了解决方案

其中说:

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

git core.sharedRepository group
Run Code Online (Sandbox Code Playgroud)

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

[core]
    ...
    sharedRepository = group
Run Code Online (Sandbox Code Playgroud)

我做到了,但徒劳无功。仍然Git Bash中的任何命令都给出相同的错误:

fatal: bad numeric config value 'dev' for 'core.sharedrepository' in .git/config: invalid unit
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题。提前致谢。

Von*_*onC 5

我以为我必须在实际命令中输入组名

否:dev根本不是该设置的有效值。

group仅尝试“ ”。

git config core.sharedRepository group
Run Code Online (Sandbox Code Playgroud)

如果需要手动修改配置,请确保.git/config本地克隆的存储库中查找文件(不在服务器上)。

正确的值是:

core.sharedRepository

  • group(或true):可以使存储库在组中的多个用户之间共享(确保所有文件和对象都可以组写入)。
  • all(或worldeverybody):除了可以组共享之外,所有用户都可以读取该存储库。
  • umask(或false):Git将使用所报告的权限umask(2)
  • 0xxx:其中0xxx是八进制数字,存储库中的文件将具有此模式值。0xxx将覆盖用户的umask值(而其他选项将仅覆盖用户的umask值的请求部分)。

例子:

  • 0660将使该仓库对所有者和组可读/可写,但对其他人则不可访问(等同于group除非umask是例如0022)。
  • 0640 是可组读取但不可组写入的存储库。

  • 是的,冯,我正在尝试使用“组”命令,但是输出始终是“致命:错误的数字配置值.......”。即使执行“ git status”,实际上也会给出同样的致命错误。我不知道如何还原回'$ git config core.sharedRepository dev'。 (2认同)
  • @AshishGoyal,您应该可以手动修改`.git / config`文件。 (2认同)