В git можно заменить какую-то часть адреса удаленного репозитория (часть remote адреса) во всех репозиториях использюя глобальный конфиг и также это даступо при настройке конкретного репозитория.
Упращаем переезд с Github <–> Gitlab <–> Bitbucket
Если к примеру вы переехали с Github на Gitlab и у вас локально множестфо проектов в которых нужно обновлять remote то можно сделать это глобально до тех пор пока не замените remote во всех репоззиториях или снова не понадобится пользоватся Github.
К примеру у нас есть следующий remote
origin https://github.com/xorcare/example (fetch)
origin https://github.com/xorcare/example (push)
чтобы фоново подменять его на Gitlab и получить такой результат
origin https://gitlab.com/xorcare/example (fetch)
origin https://gitlab.com/xorcare/example (push)
нужно выполнить следующие команды:
# замена адреса при скачивании "fetch"
git config --global url."https://gitlab.com".insteadOf "https://github.com"
# замена адреса при отправке "push"
git config --global url."https://gitlab.com".pushInsteadOf "https://github.com"
Github -> Bitbucket
git config --global url."https://bitbucket.org".insteadOf "https://github.com"
git config --global url."https://bitbucket.org".pushInsteadOf "https://github.com"
Gitlab -> Bitbucket
git config --global url."https://bitbucket.org".insteadOf "https://gitlab.com"
git config --global url."https://bitbucket.org".pushInsteadOf "https://gitlab.com"
Bitbucket -> Github
git config --global url."https://github.com".insteadOf "https://bitbucket.org"
git config --global url."https://github.com".pushInsteadOf "https://bitbucket.org"