我在Git项目sub
中有一个子模块super
。现在super
有多个分支,每个分支都可以指向sub
的另一个提交。通过
super
的分支
>$ git checkout <branchname>
但是,没有正确地使sub
再次指向正确的提交。而是
>$ git status
包含sub
的修改条目。
这只是几种情况中的一种,其中一种可能需要还原对sub
的任何修改并检出super
实际指向的提交。
对于文件,您可以随时运行
>$ git checkout -- path/to/file
恢复所有修改。因此,我基本上是在寻找一个等效的调用,以类似的快速简便的方式还原子模块。
我知道这可以通过两个命令的组合来实现:
>$ git submodule deinit -f /path/to/sub
>$ git submodule update --init --recursive /path/to/sub
但是我正在寻找一个较短的版本,该版本可能更容易记住并且可以更快地输入;)
您有什么建议吗?
答案 0 :(得分:1)
可以请您尝试此命令并检查吗?
git checkout --recurse-submodules {branch_name}
答案 1 :(得分:0)
如torek所述,跳过deinit步骤效果很好。因此,以下命令为我完成了工作:
git submodule update --recursive /path/to/submodule
谢谢大家的回答!