Как изменить URI (URL) для удаленного репозитория Git?

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

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

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

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

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

11 ответов


вы можете

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

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


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 удаленного


изменить хост для сервера Git Origin

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

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

Update: спасибо @mawolf за указание на то, что простой способ с последними версиями git (post Feb, 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 to newhost.com сохраните файл, и вы сделали.

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


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 удаленного


переключение удаленных url

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

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

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

3-й шаг:- 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.

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

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

Шаг 5:- git remote -v Проверьте новый удаленный URL

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

  1. удалить origin с помощью команды на gitbash git remote RM origin
  2. и теперь добавьте новый Origin с помощью gitbash git remote добавить origin (скопируйте URL-адрес HTTP из репозитория проекта в битовую корзину) сделал

git remote set-url {name} {url}

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


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

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

вы можете проверить это с помощью git remote -v

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

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

здесь

origin-ваша ветвь

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

git remote remove url
and 
git remote add origin url

для вас...


в Git Bash введите команду:

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

введите учетные данные

сделал


если вы используете TortoiseGit, выполните следующие действия:

  1. перейдите в локальную папку проверки и щелкните правой кнопкой мыши, чтобы перейти к TortoiseGit -> Settings
  2. в левой панели выбрать Git -> Remote
  3. в правой панели выберите origin
  4. изменить URL значение текстового поля, где когда-либо ваш новый удаленный репозиторий

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


Я работал:

git remote set-url origin <project>