重命名存储库文件夹会导致“git status 失败,代码为 128 此操作必须在工作树中运行”

问题描述 投票:0回答:1

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

git status 失败,代码为 128 此操作必须在工作树中运行

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

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


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

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

如何修复存储库,而不需要从远程再次克隆它?


注意:作为 Mercurial 用户,我非常习惯重命名存储库文件夹,不会产生任何负面后果。

git atlassian-sourcetree git-worktree
1个回答
2
投票

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

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

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

worktree = C:/OldPath/OldRepoName

worktree = C:/NewPath/NewRepoName
© www.soinside.com 2019 - 2024. All rights reserved.