如何解决如何在 git 分支之间签出,而一个分支有一个目录,另一个分支有相同名称和路径下的子模块?
在大型 git 存储库中,我需要维护一个旧分支,该分支在其根目录中有一个名为 NAME 的目录。在此过程中的某个地方,项目中引入了 git 子模块,使目录成为子模块,并且为了一致性,子模块的名称被定义为 NAME。
现在,在当前分支 - NewBranchWithSubmodule 上工作时,在结帐到旧的 OldBranchWithDir 时,我收到以下消息:
user$ git checkout OldBranchWithDir
error: The following untracked working tree files would be overwritten by checkout:
NAME/file
Please move or remove them before you switch branches.
Aborting
我在这里读过类似的问题,但没有一个能充分解决问题。
结帐或保持这种状态的正确方法是什么? (假设重命名或移动目录不是一种选择)
谢谢!
解决方法
在具有相同路径的子模块和树记录的分支之间切换很烦人,正确的方法是为那里有废弃设置的旧分支设置一个单独的工作树,你的情况是
git worktree add ../OldBranchWithDir
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。