How can I create a GIT Stash from a Commit?

But why? If you have a commit, it means you already have those changes applied to your files. Some, files might have been changed since the commit, but then, if you try to get a stash of that commit changes, then the stash would be the diff of your current files and the state of these files at the commit. What I am trying to say is that I can't think of a case when you would need that.

But anyway, you can get the changes of the commit, create a diff, apply it and then stash whatever was the difference.

git diff YOUR-COMMIT^ YOUR-COMMIT > stash.diff
git apply stash.diff
git commit .
git stash

You don't have to create a temporary stash.diff file. You can simply pipe git diffs output to git apply.


Why? In my case I had a cancelled pull request and I needed to use that code as a starting point for another ticket in another branch.

OK so what I did was git cherry-pick --no-commit <your commit hash>

Then git stash push --message "wip or whatever"

Tags:

Git

Github