这是文件夹“somefolder”的历史记录
$ git log somefolder
commit 89cd
More changes to somefolder
commit ef47a
Updating somefolder and other stuff
commit e095
Bugs fixed in somefolder
我想将 somefolder 还原为“修复了某些文件夹中的错误”提交。
由于第二次提交涉及某个文件夹之外的更改,我不想还原此提交。
我想最安全的方法是在提交 e095 和 89cd 之间创建一个仅适用于某个文件夹的差异/补丁,然后应用该补丁。我该怎么做?
最佳答案
您可以使用 git checkout将您的存储库更新到特定状态。
git checkout e095 -- somefolder
至于您关于生成差异的问题,那也可以。只需生成差异以从当前状态返回到 e095
:
git diff 89cd..e095 -- somefolder
关于git - 如何通过创建补丁将文件夹恢复到特定提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6119036/