I was playing around with pushing the same project folder to different repos (GitHub and GitLab) and ended up renaming it into a bunch of different names.
Now how do I remove remotes with name like 'upstream' and 'origin' from my list generated when I use git branch -a
?
In general, to add, update, or remove any given remote, you use the git remote
command. The default action for git remote
is to list the current set of remotes, so:
git remote
should list:
GitHub
GitLab
origin
upstream
given the set of remote-tracking names. To remove all but, say, origin
, you could use:
git remote remove GitHub
git remote remove GitLab
git remote remove upstream
Note that git remote remove
can only remove one remote at a time, so if you have a long list of remotes to remove, you might use a shell loop:
for i in GitHub GitLab upstream; do git remote remove $i; done
(assuming you are using sh or bash or anything compatible with those).
Note that git remote remove
also removes the corresponding remote-tracking names. (Git calls these remote-tracking branch names, but I find the word branch here to be more confusing than helpful, so I recommend deleting it from the phrase.)