I checked some source code into GIT with the commit message “Build 0051”.
However, I can’t seem to find that source code any more – how do I extract this source from the GIT repository, using the command line?
Update
- Checked in versions 0043, 0044, 0045 and 0046 using SmartGIT.
- Checked out 0043, and checked in versions up to 0051 on a different branch.
- Checked out 0043 again.
- Now, 0051 has disappeared.
Update
The source code is definitely there, now its a matter of checking it out:
C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
Author: unknown <Mike@.(none)>
Date: Fri Aug 19 17:24:51 2011 +0100
20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
C:\Source>
To search the commit log (across all branches) for the given text:
To do so while ignoring case in the grep search:
To search the actual content of commits through a repo’s history, use:
to show all instances of the given text, the containing file name, and the commit sha1.
And to do this while ignoring case, use:
Note that this searches the entire content of the commit at each stage, and not just the diff changes. To search just the diff changes, use one of the following:
Finally, as a last resort in case your commit is dangling and not connected to history at all, you can search the reflog itself with the
-gflag (short for--walk-reflogs:EDIT: if you seem to have lost your history, check the
reflogas your safety net. Look for Build 0051 in one of the commits listed byYou may have simply set your
HEADto a part of history in which the ‘Build 0051’ commit is not visible, or you may have actually blown it away. The git-ready reflog article may be of help.To recover your commit from the reflog: do a git checkout of the commit you found (and optionally make a new branch or tag of it for reference)