threads / discuss / 30455

Broken Repo

Subject: Broken Repo

## tl;dr

4 messages between May 7, 2012 and May 7, 2012.

replies: 3people: 3as markdown or json

Joe Zim· May 7, 2012, 03:36 UTC · lore

Hi, I'm new here. I'm using Github right now. I have a repository there and a local copy on my Windows 7 PC. I made a change, committed it, then attempted to push it. I got a strange error that I can't remember. Anyway, after several attempts I decided to just delete the local repository, restore it from github and try again later. I realize now that there were other ways this should have been handled, but right now it doesn't matter. I can't figure out how to restore a copy from Github and make this renewed repo the master branch. Can anyone give me a detailed, step by step answer please?

Thanks, Joseph Zimmerman

Marcus Karlsson· May 7, 2012, 07:39 UTC · re: Joe Zim · lore

Re: Broken Repo

On Sun, May 06, 2012 at 10:36:53PM -0500, Joe Zim wrote:
Show 13 quoted lines
> Hi, I'm new here. I'm using Github right now. I have a repository
> there and a local copy on my Windows 7 PC. I made a change,
> committed it, then attempted to push it. I got a strange error that
> I can't remember. Anyway, after several attempts I decided to just
> delete the local repository, restore it from github and try again
> later. I realize now that there were other ways this should have
> been handled, but right now it doesn't matter. I can't figure out
> how to restore a copy from Github and make this renewed repo the
> master branch. Can anyone give me a detailed, step by step answer
> please?
> 
> Thanks,
> Joseph Zimmerman

You deleted the local repository and want to clone it again from GitHub right?

You can run 'git clone git@github.com:username/reponame.git' and that should give you a new local repository cloned after the repository on GitHub. Just replace username and reponame with the appropriate names first and you should be up and running.

	Marcus
Jeff King· May 7, 2012, 07:49 UTC · re: Joe Zim · lore

Re: Broken Repo

On Sun, May 06, 2012 at 10:36:53PM -0500, Joe Zim wrote:
Show 9 quoted lines
> Hi, I'm new here. I'm using Github right now. I have a repository
> there and a local copy on my Windows 7 PC. I made a change, committed
> it, then attempted to push it. I got a strange error that I can't
> remember. Anyway, after several attempts I decided to just delete the
> local repository, restore it from github and try again later. I
> realize now that there were other ways this should have been handled,
> but right now it doesn't matter. I can't figure out how to restore a
> copy from Github and make this renewed repo the master branch. Can
> anyone give me a detailed, step by step answer please?

I don't quite understand your question. You deleted the original repository, which I assume means you removed the whole working tree. So can you not "git clone" the original repository again and redo your work?

Or did you remove only the ".git" directory, leaving your modified working tree in place? If that is the case, you probably want:

  # turn your directory back into a git repository
  cd $your_project
  git init
  # fetch the existing work again
  git remote add origin $your_remote_url
  git fetch
  # now tell git that we are basing our branch on the upstream master.
  # We must make sure not to use "--hard" here, because that would
  # overwrite the working tree.
  git reset origin/master

At this point you should be able to use "git status" to see your changes, and commit as normal. You might also want to run:

  git branch --set-upstream master origin/master

to make "git pull" work without any arguments. This setup is done automatically by "git clone", but not by the manual init+fetch we did above.

-Peff
Joe Zim· May 7, 2012, 18:12 UTC · re: Jeff King · lore

Re: Broken Repo

Thanks for the reply guys. It's fixed now.
On 5/7/2012 2:49 AM, Jeff King wrote:
Show 42 quoted lines
> On Sun, May 06, 2012 at 10:36:53PM -0500, Joe Zim wrote:
>
>> Hi, I'm new here. I'm using Github right now. I have a repository
>> there and a local copy on my Windows 7 PC. I made a change, committed
>> it, then attempted to push it. I got a strange error that I can't
>> remember. Anyway, after several attempts I decided to just delete the
>> local repository, restore it from github and try again later. I
>> realize now that there were other ways this should have been handled,
>> but right now it doesn't matter. I can't figure out how to restore a
>> copy from Github and make this renewed repo the master branch. Can
>> anyone give me a detailed, step by step answer please?
> I don't quite understand your question. You deleted the original
> repository, which I assume means you removed the whole working tree. So
> can you not "git clone" the original repository again and redo your
> work?
>
> Or did you remove only the ".git" directory, leaving your modified
> working tree in place? If that is the case, you probably want:
>
>    # turn your directory back into a git repository
>    cd $your_project
>    git init
>
>    # fetch the existing work again
>    git remote add origin $your_remote_url
>    git fetch
>
>    # now tell git that we are basing our branch on the upstream master.
>    # We must make sure not to use "--hard" here, because that would
>    # overwrite the working tree.
>    git reset origin/master
>
> At this point you should be able to use "git status" to see your
> changes, and commit as normal. You might also want to run:
>
>    git branch --set-upstream master origin/master
>
> to make "git pull" work without any arguments. This setup is done
> automatically by "git clone", but not by the manual init+fetch we did
> above.
>
> -Peff

← back to recent threads