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