【发布时间】:2019-07-11 15:21:27
【问题描述】:
问题
鉴于已推送的提交 sha1 包含对子模块的更改以及对其他文件的一些其他更改,我如何仅恢复对子模块的更改,但保留对其他文件的更改? (即,不能选择恢复整个提交。)
目前尝试
我根据相关问题中的answer 进行了尝试:
git show some_commit_sha1 -- path/to/submodule | git apply -R
但显然它不起作用。
如果确实如此,我会感到惊讶,因为差异就是这样:
git show some_commit_sha1 -- path/to/submodule
[...]
-Subproject commit abcdef12345....
+Subproject commit 98765432109....
(我猜git apply -R 对此无能为力。)
相关但不重复的问题:
Revert changes to a file in a commit这正是我想要做的,但不是文件,而是子模块。
How do I revert my changes to a git submodule?这是用于恢复“本地”(尚未提交)的更改
Git submodule revert commit Title 似乎正是我所需要的,但随后问题又问了一些其他问题(如果我理解正确,它是关于更改各个分支上子模块的内容)
【问题讨论】:
标签: git version-control git-submodules revert