为什么在我的本地存储库中,"git init" 抛出致命错误,但仍在创建 .git 文件?那么,"git status"returns致命错误"not a git repo"?

Why in my local repo, "git init" throws a fatal error, but is still creating the .git file? Then, "git status" returns fatal error "not a git repo"?

git 的新手,正在尝试学习在线课程,但我的 ubuntu 的表现与老师的不同。我在 Whosebug 和其他网站上搜索了我的错误。我发现了类似的问题,但不是同一个问题。 None 个答案对我有帮助,所以我提出了这个新问题。

在我的本地仓库中,当我输入“git init”时,我得到:

error: chmod on /mnt/c/users/jds/documents/projects/testrepo/.git/config.lock failed: Operation not permitted

fatal: could not set 'core.filemode' to 'false'

但是,在文件夹中(如文件资源管理器中所见)我可以看到 .git 文件已创建。

如果我然后 运行“git 状态”命令,我得到:

fatal: not a git repository (or any parent up to mount point /mnt)

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Here is my ubuntu terminal, with the Windows File Explorer in the background (showing the .git file has been created in the repo)

我在 Windows 10,运行在 Windows 子系统中 Linux。

----------------更新----------------

我删除了 .git 文件并以 root 用户身份重新启动 ubuntu。以 root 用户身份执行上述命令时,它起作用了:

root@LAPTOP-ILK7ETOO:/mnt/c/users/jds/documents/projects/testrepo# git init

Initialized empty Git repository in /mnt/c/users/jds/documents/projects/testrepo/.git/

root@LAPTOP-ILK7ETOO:/mnt/c/users/jds/documents/projects/testrepo# git status

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

root@LAPTOP-ILK7ETOO:/mnt/c/users/jds/documents/projects/testrepo#

但为什么我不能以指定用户的身份执行此操作?我使用“ls -l”检查了权限,并且 testrepo 启用了完整权限:

drwxrwxrwx 1 root root 512 Jan 29 18:06  testrepo

why couldn't I do this as the named user?

因为您的 non-root 用户无法 chmod 文件,如 error-message 中所写。而“如何修复”超出了 SO

的范围

PS - 现有 .git 目录 不是 功能的标志 Git-repository