gpt4 book ai didi

windows - git clone 成功,但是 checkout 失败;由于文件夹有前导或尾随空格

转载 作者:可可西里 更新时间:2023-11-01 11:24:13 27 4
gpt4 key购买 nike

我通常从 macOS 提交一个项目,我没有注意到文件夹名称中意外嵌入了前导和尾随空格,但最近我尝试从 Windows 克隆 repo,我收到此错误:

fatal: cannot create directory at 'FolderName /SubFolderName'
warning: Clone succeeded, but checkout failed.

有没有办法在不从 mac 修改的情况下从 windows 成功 checkout ?如何防止在 Windows 中导致 checkout 失败的前导和尾随空格?有没有办法强制 Finder 突出显示 macOS 中的所有前导或尾随空格?或者甚至更好:出于兼容性目的拒绝它们?

最佳答案

最简单的方法是在 MacOS 中重命名它们。但是您也可以使用低级命令在 Windows 中修复它:

  • 使用sparse checkout从 checkout 中跳过损坏的路径
  • 找出目录的树哈希:git ls-tree HEAD:<parent dir>git ls-tree HEAD如果目录在顶层,它会打印类似“040000 tree df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078 invalid_dir”的内容
  • 将树添加为新名称:git update-index --add --cacheinfo 040000,df2b8fc99e1c1d4dbc0a854d9f72157f1d6ea078,valid_dir
  • 删除旧目录:git rm -r --cached 'invalid_dir '
  • 提交重命名:git commit -m 'Rename invalid direct'
  • 更新工作树以 checkout 有效目录:git reset --hard (注意:我假设您在这种情况下还没有完成任何工作,所以没有什么可失去的)

关于windows - git clone 成功,但是 checkout 失败;由于文件夹有前导或尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45932248/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com