Re: [HELP] A local branch has disappeared
- From
- Neil Macneale <mac4@theory.org>
- Date
- Jan 19, 2009, 05:37 UTC
- Message-ID
- <A9C9E16F-B1CC-4E0A-AEF1-426ABEF60BDF@theory.org>
- In-Reply-To
- <488807870901181954p558756f5v94c8a6681125e8bb@mail.gmail.com>
On Jan 18, 2009, at 7:54 PM, Johnny Lee wrote:
Show 44 quoted lines
> Hi all, > > Today I found my current branch (named cupcake) has disappeared. > git@tomato:~/golf$ git branch -a > htc_cupcake > tmo_cupcake > origin/HEAD > origin/cupcake > origin/device > > As you can see, there is no "*" to mark the current branch. > > But when I check the HEAD, it still pointed to the cupcake branch > git@tomato:~/golf$ cat .git/HEAD > ref: refs/heads/cupcake > > But when I check the ref/heads, the cupcake is missing > git@tomato:~/golf$ ls .git/refs/heads/ > htc_cupcake tmo_cupcake > > And the cupcake in still in the config: > git@tomato:~/golf$ cat .git/config > [core] > repositoryformatversion = 0 > filemode = true > bare = false > logallrefupdates = true > sharedRepository = 1 > [remote "origin"] > url = /home/rick/golfresort/device/.git > fetch = +refs/heads/*:refs/remotes/origin/* > [branch "cupcake"] > remote = origin > merge = refs/heads/cupcake > > I'm confused: > 1. I didn't do any aggressive operations. Why the branch has > disappeared? Normally I have done these operation for this repo: > i. pull from parent repo > ii. cloned by children repo > iii. pulled by children repo > iv. pushed from children repo > 2. Is there any way to resume the cupcake branch? Can I manually add > the cupcake to ref/heads?
I don't know why the cupcake branch would be gone, but you can probably get something from the logs:
$ cat .git/logs/refs/heads/cupcake
The last line should tell you what commit you were at before it was destroyed. Then you can create the branch again.
$ git checkout -b cupcake <hash in the log>
Hope that helps, Neil