GitHub recover deleted blocks of code
-
23-07-2021 - |
Question
I am working on a project and we have a file where a few blocks of code that go together were deleted at different intervals a few commits back. I need to recover only some of these blocks and put them into something else I'm making. Is there a way to see the old blocks that were committed and copy them without having all the junk before/around the lines (like when you look at it with Git Extensions or GitHub. I basically just want to be able to grab some old code blocks manually for use in another project that isn't on the repository.
Thanks
Solution
The general idea would be to:
use
git log -SFoo -- path_containing_change
in order to detect commits where you have added or, more importantly, removed a certain line: see "How to grep (search) committed code in the git history?".git grep <regexp> $(git rev-list --all)
can also help (can be slower though)for each relevant commits, make a patch for the right files (as in "“
git format-patch
” equivalent for a single file?")apply those patches to your other repo project.
OTHER TIPS
In github you can view the list of commits, simply click "view code" next to the commit where this code still exists. Then you can browse to the files that contains the code you want and click "raw" to see the file without "having all the junk".