【问题标题】:Git "error : invalid path" during git checkoutgit结帐期间的Git“错误:无效路径”
【发布时间】:2022-01-05 00:10:53
【问题描述】:

当我尝试从 cmd 结帐到另一个分支时:

git checkout Datascience_With_Python --

出现此错误:

error: invalid path 'Datascience_With_Python/Machine Learning/Tutorials/Steps for Machine Learning "MLOps"/README.md'
error: invalid path 'Datascience_With_Python/Machine Learning/Tutorials/Steps for Machine Learning "MLOps"/Steps_For_Machine_Learning_MLOps.ipynb'

我认为这是因为文件夹名称“MLOps 中的机器学习步骤”中的逗号 但我无法编辑它,因为它是一个开源项目,我只能在特定分支中的特定文件夹上工作。

我试过了:

git clone --sparse -c core.protectNTFS=false -n <repo-URL>
git checkout <branch>

但它会从我的本地仓库克隆中删除所有文件夹。

我也试过了:

git config core.protectNFTS false
git config core.sparsecheckout true

但它也没有工作。

请帮忙...

【问题讨论】:

  • 如果分支是新的,请先尝试git fetch,然后再尝试git checkout
  • @AmitKumarPRO 这不是一个新分支,它是主要维护的分支之一。
  • “反逗号”是撇号...或者更确切地说是单引号...因为路径在某些文件夹名称中有空格。
  • @Code-Apprentice 幸运的是,文件夹名称中的空格是可以接受的

标签: git sparse-checkout git-sparse-checkout


【解决方案1】:

“反逗号”:

该问题还包括在"MLOps" 中使用双引号,以及像Windows would not support in file names 这样的操作系统的字符列表的一部分。

按照Brendan Forster 中的“Fixing Invalid Git Paths on Windows”,您可以:

git checkout -f Datascience_With_Python --

With -f:

切换分支时,即使索引或工作树与 HEAD 不同,即使途中有未跟踪的文件,也要继续。这用于丢弃本地更改和任何未跟踪的文件或目录。

从索引中检查路径时,不要在未合并的条目上失败;相反,未合并的条目将被忽略。

在你的情况下,这应该会给你一个分离的 HEAD,有问题的路径“已删除”。

从那里创建一个修复分支,工作并提交。

但是如果不修复其父文件夹名称,您将无法恢复 Steps_For_Machine_Learning_MLOps.ipynb
因此,您可以尝试推送该修复分支,并在其他用户合并它时向他们发出警告,因为他们需要恢复丢失的文件(希望不在 Windows 上,因为他们一开始就无法克隆它)。


唯一永久的解决方案是修复文件名,这是OP rica-programmerthe comments 中确认的:

我通过在维护者的许可下重命名“反逗号”文件解决了这个问题

【讨论】:

  • 不幸的是,-f 在我的情况下也不起作用,再次显示错误error: invalid path 'Datascience_With_Python/Machine Learning/Tutorials/Steps for Machine Learning "MLOps"/README.md'
  • @rica_programmer 你有什么 Git 版本? git switch -f Datascience_With_Python 会更好吗?
  • 感谢@VonC 的帮助,我通过在维护者的许可下重命名“反逗号”文件解决了这个问题。
  • @rica_programmer 干得好。我已将您的评论包含在答案中以提高知名度。
【解决方案2】:

结帐前检查所有分支的列表 1 个 git 分支(现在您的查看所有分支列表 * 字符与您的活动分支一起使用) 2 git checkout 开发(你想简单转移到哪个分支)

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2016-12-31
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2020-12-22
  • 2019-11-19
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
相关资源
最近更新 更多