如何还原特定 files/folders

How to revert specific files/folders

假设我有一个 git 存储库,里面有各种子项目。如何在不影响所有其他子项目的情况下将一个子项目中的更改还原到它们在您要还原到的提交时所处的状态?所以对于一个子项目我恢复到旧的提交,而其余的子项目保持当前版本?

假设您想还原在提交 C 中对子项目所做的更改,我将执行以下操作:

git revert C --no-commit                     #staging area contains all reverted files
git reset                                    #working directory contains all reverted files
git add /path/to/subproject                  #staging area contains reverted subproject
git commit
git reset --hard                             #working directory now reflects repository