hitfactory hitfactory - 11 months ago 69
Git Question

How to revert a folder to a particular commit by creating a patch

Here's my history for the folder 'somefolder'

$ git log somefolder

commit 89cd
More changes to somefolder

commit ef47a
Updating somefolder and other stuff

commit e095
Bugs fixed in somefolder

I want to revert somefolder back to the 'Bugs fixed in some folder" commit.

Since the second commit involved changes outside of somefolder, I don't want to revert this commit.

I guess the safest way would be to create a diff/patch between commit e095 and 89cd that applies just to some folder, and then apply that patch. How can I do that?

Answer Source

You can use git checkout to update your repository to a specific state.

git checkout e095 -- somefolder

As for your question about generating the diff, that would work too. Just generate the diff to go from your current state back to e095:

git diff 89cd..e095 -- somefolder