微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重命名存储库文件夹导致“git status failed with code 128 this operation must be run in a work tree”

如何解决重命名存储库文件夹导致“git status failed with code 128 this operation must be run in a work tree”

我已经通过文件系统(Windows 文件资源管理器)重命名了我的本地 Git 存储库文件夹,现在 Git 状态(通过 SourceTree 检查存储库时)每次都失败

git status Failed with code 128 此操作必须在工作树中运行

基本上我只改变了外部文件名称,我没有触及内部存储库结构。

OldRepoName    
│   .gitattributes
│   .gitignore
│   README.md
│   │   ...
│   
└───.git
│   │   config
│   │   ...
│   
└─── ...


NewRepoName    
│   .gitattributes
│   .gitignore
│   README.md
│   │   ...
│   
└───.git
│   │   config
│   │   ...
│   
└─── ...

我能找到的所有关于“此操作必须在工作树中运行”错误搜索都在处理从未有工作树结构的裸存储库。这个仓库不是裸仓库。

如何修复 repo,而不从远程再次克隆它?


注意:作为 Mercurial 用户,我很习惯重命名存储库文件夹,没有任何负面影响。

解决方法

Git 存储库包含使用工作树绝对路径的配置文件。修复该路径以指向新的、重命名的文件夹可修复存储库。

  1. 在文本编辑器中打开 .git/config 文件
  2. worktree 配置下找到 [core] 条目
  3. 将绝对回购路径更新为新的并保存更改

来自(这是Windows示例,但同样的原则适用于其他操作系统)

worktree = C:/OldPath/OldRepoName

worktree = C:/NewPath/NewRepoName

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。