Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git listing non-existent remotes

I recently made some changes to my remote repos in my Git repo config file. I renamed the remote names, changing my origin to another remote repo and renaming my old origin.

For example, I had this previously:

[remote "origin"]
   url =  blah blah

[remote "future"]
   url = blah blah

I went in and changed them so they look like this:

# formerly the origin
[remote "old-origin"]

# formerly the future repo
[remote "origin']

But now, when I type git branch -a, I am seeing branches listed from the old 'future' remote:

remotes/origin/HEAD
remotes/origin/branch1
remotes/origin/branch2
remotes/future/branch1
remotes/future/branch2
remotes/old-origin/master
remotes/old-origin/branch3

I ran a prune as well as a fetch, etc. but that list just won't be updated. I did a search on my config file for 'future' and nothing turns up. Are there any commands I can run to refresh this list and stop looking at that nonexistent remote?

like image 803
sma Avatar asked Oct 10 '13 14:10

sma


1 Answers

You used to have a remote named future, and you don't now.

Hence, git remote whatever future can't help, because there is no remote named future. (Normally git remote update -p or git remote prune, as in the comments above, would let you get rid of these.)

The simplest option would seem to be to delete them manually:

git update-ref -d refs/remotes/future/branch1
git update-ref -d refs/remotes/future/branch2

(or rm -r .git/refs/remotes/future and/or edit .git/packed-refs, depending on whether these refs have gotten packed).

[Incidentally, I'd also run git config -e (or vi .git/config which is what I usually really do :-) ) and make sure there are no other left-over references to the future remote.]

like image 91
torek Avatar answered Oct 05 '22 04:10

torek