繁体   English   中英

Git子模块还原提交

[英]Git submodule revert commit

我在Git项目super有一个子模块sub 现在有多个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

但我正在寻找一个较短的版本,该版本可能更容易记住并且键入速度更快;)

你有什么建议?

您可以尝试此命令并检查吗?

git checkout --recurse-submodules {branch_name}

如torek所述,跳过deinit步骤效果很好。 因此,以下命令为我完成了这项工作:

git submodule update --recursive /path/to/submodule

谢谢大家的答案!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM