在包含一个或多个子模块的仓库中切换分支的正确方法是什么?
考虑所有情况,可能每种情况都有不同的方法:
目前,由于我们所有的子模块都以x_*
开头,我们必须这样做才能安全地切换分支:
rm -rf x_*; rm -rf .git/modules/x_*
除了非常脏(至少可以说),这对子模块中的更改是不安全的(未跟踪的文件,未推送的提交和修改的文件将被静默删除)
示例:从包含子模块B1
,S1
,S2
的分支S3
切换到包含子模块的分支B2
{{ 1}}和S2
首先我们克隆repo并签出S4
及其所有子模块。我们如何切换到B1
以便子文件B2
和S1
不会从文件系统中删除(仅显示为未跟踪的文件),S3
现在处于不同的状态版本和S2
也出现在文件系统中?