Чтобы изменить только ссылки на репозитории в одном аккаунте (безопаснее) на github, используйте следующее (скажем, мое имя пользователя на github и gitlab cpbl
):
find ./ -wholename "*/.git/config" -type f -exec sed -i 's/github.com:cpbl/gitlab.com:cpbl/gI' {} \;
find ./ -wholename "*/.git/config" -type f -exec sed -i 's/github.com\/cpbl/gitlab.com\/cpbl/gI' {} \;
Очевидно, вам следует заменить"cpbl" с вашим желаемым именем пользователя github / gitlab.Эти две строки необходимы, потому что в ваших файлах .git могут быть ссылки url = git@gitlab.com:cpbl/
и url = git@gitlab.com/cpbl/
.
Прежде чем приступить к описанному выше, чтобы составить список изменений, которые вы собираетесь изменить, вы можете сделать следующее:
find ./ -wholename "*/.git/config" -type f -exec grep github.com:cpbl {} \;
find ./ -wholename "*/.git/config" -type f -exec grep github.com\/cpbl {} \;
Преимущество этого по сравнению с отличной идеей @ VonC заключается в том, что вы можете сделать исключение таким образом (например, есть один репо, который я не хочу перемещать сегодня, поэтому я могу просто изменить его обратно).