VSCode:git致命错误:文件在目录之外

Posted

技术标签:

【中文标题】VSCode:git致命错误:文件在目录之外【英文标题】:VSCode: git fatal error: file is outside directory 【发布时间】:2018-05-10 12:44:49 【问题描述】:

我用VScode很久了,也用过很多次git的功能。但它突然开始失败。每次我尝试添加一个文件,单个文件时,它都说有错误:

git add -A -- ""repository folder""/README.md

fatal: ""repository folder""/README.md' is outside repository

我检查了设置,没有什么奇怪的,而且,当我一次添加所有文件而不是一次添加一个时,它运行良好。如果我使用终端命令添加文件,它也可以工作。

【问题讨论】:

【参考方案1】:

我在安装 2020 年 5 月的 VSCode 更新 (v1.46) 后遇到了这个问题。

比较新旧 VSCode 的 git 命令后,发现更新后的 VSCode 在 git 命令的路径中使用 小写驱动器号,但旧的使用 大写字母。应该解决这些问题的ignorecase git 选项已设置为true

将 git 更新到 2.27 版解决了这个问题。

【讨论】:

更新 Windows 的 Git 对我来说效果很好!!我使用git update-git-for-windows,表单***.com/questions/13790592/… 谢谢!这帮助我解决了这个奇怪的问题! 我会推荐看看git-scm.com/download/win,别忘了重启VScode ;) 我同意@KevynTuleuDourado 的观点,即***.com/a/55180131/470749 在了解如何更新 Git 方面非常有帮助,具体取决于您当前的 Git 版本。【参考方案2】:

为我解决的问题是:

作为 Windows 和 VScode 用户,我通过更新 GIT 解决了这个问题。您可以通过转到 https://gitforwindows.org/ 并安装来做到这一点。

【讨论】:

这只是发生在我身上,我运行的是旧版本。安装了最新的,现在它可以工作了。干杯 我也可以确认。将 git 从 2.10 更新到 2.27,现在它可以工作了。谢谢! 这也为我修好了。【参考方案3】:

我的 vs 代码最近更新到 2020 年 5 月发布。就在这之后,上面的 git 问题开始发生。 所以我将我的 vs 代码版本回滚到 2020 年 4 月发布,现在 git 扩展又可以工作了

【讨论】:

查看@Oleg Skydan 的回答。更新到 git 版本 2.27 可能会解决问题。它对我有用。 我刚刚遇到了完全相同的问题,这个解决方案奏效了。【参考方案4】:

如果您在路径名中使用 ASCII / 特殊字符(如 æøå),则会发生此错误。将路径名/目录重命名为修复问题。

请注意,您的项目目录的所有父路径都需要更改,而不仅仅是项目中的路径/目录。

【讨论】:

我遇到了正常路径的问题,没有任何特殊字符。知道为什么 VS Code 会使用 FQP 作为简单路径吗?【参考方案5】:

看起来someone else's answer 中提到的根本原因是正确的:

我在安装 2020 年 5 月 VSCode 更新 (v1.46) 后遇到了这个问题。

比较新旧 VSCode 的 git 命令后,发现更新后的 VSCode 在 git 命令的路径中使用小写驱动器号,但旧的使用大写字母。

当 Windows 显示 E:\... 时,我可以看到 git 错误抱怨 e:\...

添加ignorecase=true 对我没有用。相反,我运行了git version(报告了 2.9.x)。撰写本文时最新的 git 是 2.27.y。升级 git 为我解决了这个问题。

【讨论】:

赞成:在 issue 99870 中也提到过 (github.com/microsoft/vscode/issues/99870#issuecomment-643040268)【参考方案6】:

我必须更改我的 git 配置才能让它在我的 vs 代码中工作。 从 Windows 的 git 版本 1.6.1.9 开始,默认设置配置中的“ignorecase=true”。 如果您之前没有在您的存储库中配置它,您可以通过您的终端在带有 .git 文件夹的目录中执行以下操作,将其更改为 false:

git config --local -e

在核心选项下,使用文本编辑器将 ignorecase 设置为 false

ignorecase=false

希望对你有帮助

【讨论】:

【参考方案7】:

Mac OS 10 + VSCode 扩展 Git History 0.6.10。

卸载重启VSCode重新安装Git History。

再次工作。

【讨论】:

我认为 OP 没有提到他使用的是 macOS。你怎么能确定?【参考方案8】:

对于使用非英语语言的用户,这可能有助于解决问题。

git config --global core.precomposeunicode false

【讨论】:

如果它解释了为什么此配置更改可能会有所帮助,以及在什么情况下可能会有所帮助,这将是一个更好的答案。【参考方案9】:

问题是你试图添加一些东西,而不是在包含 .git 目录和子目录的根目录中。您尝试添加的文件超出其范围。

不要将文件添加为完整路径。在您的分支上输入 git status 并添加文件。

做简单的事。例如:

git add README.md
git commit -m "Commit message"
git checkout master

您可以根据自己的选择进行合并或变基。

【讨论】:

是的,如果我这样做,它会起作用。它不起作用的地方是 Visual Studio Code git 集成

以上是关于VSCode:git致命错误:文件在目录之外的主要内容,如果未能解决你的问题,请参考以下文章

GitHub桌面:致命错误“无法创建/project/.git/index.lock:没有这样的文件或目录”[重复]

致命:打开/ dev / null或dup失败:没有这样的文件或目录

在 vscode 中从 git 中删除 node_modules

使用 Git 时如何解决“错误:错误索引 – 致命:索引文件损坏”

致命:文件 .git/config 中的错误配置行 1

VSCode运行c ++代码时没有这样的文件或目录[关闭]