Как изменить URI (URL) для удаленного хранилища Git? - PullRequest
3257 голосов
/ 12 марта 2010

У меня есть репо (источник) на USB-ключе, который я клонировал на своем жестком диске (локальном). Я переместил «origin» на NAS и успешно протестировал его клонирование.

Хотелось бы узнать, смогу ли я изменить URI "origin" в настройках "local", чтобы он теперь вытягивался с NAS, а не с USB-ключа.

Пока я вижу два решения:

  • отправить все на usb-orign и снова скопировать его на NAS (подразумевает много работы из-за новых коммитов в nas-origin);

  • добавить новый пульт в "local" и удалить старый (боюсь, я сломаю свою историю).

Ответы [ 15 ]

5290 голосов
/ 12 марта 2010

Вы можете

git remote set-url origin new.git.url/here

(см. git help remote) или вы можете просто отредактировать .git/config и изменить там URL-адреса. Вы не рискуете потерять историю, если не сделаете что-то очень глупое (и если вы беспокоитесь, просто сделайте копию своего репо, поскольку ваше репо - это ваша история.)

718 голосов
/ 10 октября 2013
git remote -v
# View existing remotes
# origin  https://github.com/user/repo.git (fetch)
# origin  https://github.com/user/repo.git (push)

git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL

git remote -v
# Verify new remote URL
# origin  https://github.com/user/repo2.git (fetch)
# origin  https://github.com/user/repo2.git (push)

Изменение URL-адреса пульта дистанционного управления

87 голосов
/ 15 февраля 2011

Смена хоста для сервера Git Origin

от: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/

Надеюсь, это не то, что вам нужно делать. У сервера, с которым я работал для совместной работы над несколькими git-проектами, срок действия имени домена истек. Это означало поиск способа переноса локальных репозиториев для синхронизации.

Обновление: спасибо @mawolf за указание, что с последними версиями git есть простой способ (пост февраля 2010):

git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git

Подробнее см. На справочной странице.

Если у вас более старая версия, попробуйте следующее:

В качестве предупреждения это работает только в том случае, если это один и тот же сервер, только с разными именами.

Если предположить, что новым именем хоста является newhost.com, а старым было oldhost.com, изменение довольно простое.

Отредактируйте файл .git/config в вашем рабочем каталоге. Вы должны увидеть что-то вроде:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git

Измените oldhost.com на newhost.com, сохраните файл, и все готово.

Из моего ограниченного тестирования (git pull origin; git push origin; gitx) все кажется в порядке. И да, я знаю, что это плохо - связываться с внутренностями git.

46 голосов
/ 27 апреля 2015
git remote set-url origin git://new.location

(или откройте .git/config, найдите [remote "origin"] и отредактируйте строку url =.

Вы можете проверить работоспособность, изучив пульты:

git remote -v
# origin  git://new.location (fetch)
# origin  git://new.location (push)

В следующий раз, когда вы нажмете, вам нужно будет указать новую восходящую ветвь, например ::

git push -u origin master

См. Также: GitHub: изменение URL-адреса пульта дистанционного управления

30 голосов
/ 08 декабря 2017

Переключение удаленных URL

Открыть терминал.

Ist Step: - Измените текущий рабочий каталог на ваш локальный проект.

2-й шаг: - Список существующих пультов, чтобы получить имя пульта, который вы хотите изменить.

git remote -v

origin  https://github.com/USERNAME/REPOSITORY.git (fetch)

origin  https://github.com/USERNAME/REPOSITORY.git (push)

Измените URL вашего пульта с HTTPS на SSH с помощью команды git remote set-url.

3-й шаг: - git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

4-й шаг: - Теперь убедитесь, что удаленный URL-адрес изменился.

git remote -v Подтвердите новый удаленный URL

origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.git (push)
19 голосов
/ 24 июня 2016
  1. удалить источник используя команду на gitbash git remote rm origin
  2. А теперь добавьте новый Origin, используя gitbash git remote add origin (Скопировать HTTP-URL из репозитория вашего проекта в битовую корзину) сделано
18 голосов
/ 28 декабря 2015

git remote set-url {имя} {url}

ex) git remote set-url origin https://github.com/myName/GitTest.git

10 голосов
/ 18 декабря 2018

Для проверки удаленного подключения git:

git remote -v

Теперь установите для локального репозитория удаленный git:

git remote set-url origin https://NewRepoLink.git

Теперь, чтобы сделать это upstream или push, используйте следующий код:

git push --set-upstream origin master -f

8 голосов
/ 31 июля 2017

, если вы клонировали ваш локальный, будет автоматически состоять,

удаленный URL, где он клонируется.

Вы можете проверить это, используя git remote -v

если вы хотите внести изменения,

git remote set-url origin https://github.io/my_repo.git

здесь

происхождение - ваша ветка

если вы хотите перезаписать существующую ветку, вы все равно можете использовать ее ... она переопределит вашу существующую ... она сделает,

git remote remove url
and 
git remote add origin url

для тебя ...

7 голосов
/ 06 мая 2018

Я работал:

git remote set-url origin <project>
...