Перемещение репозитория git
этот вопрос может быть глупым, но мне было интересно это на некоторое время. Речь идет о репозиториях git, но я предполагаю, что это то же самое для локальных репозиториев для других DVCS.
допустим, мой проект выглядит так, когда он начинается:
- .ГИТ
- все остальные папки в проекте
Так вот как это будет работать, когда вы установите его правильно?
допустим, я перемещаю проект папка где-то еще, мне нужно будет что-то изменить? Или все вещи в хранилище .папка git относится только к папке проекта, игнорируя все дерево файлов над проектом.
Я уверен, что перемещение проекта не будет иметь значения, но я просто хотел убедиться.
5 ответов:
Да, все в
.gitотносительна. Если вы добавили репозиторий в качестве именованного удаленного в другой репозиторий, вам придется изменить удаленный URL-адрес в этом другом репозитории.
я обнаружил, что подмодули не являются относительными в git.
Итак, если вы хотите переместить проект, содержащий подмодули, вы должны отредактировать
.gitфайл в подмодуле, а также атрибут "worktree" в файле конфигурации подмодуля, который хранится в Родительском .
показать текущий пульт дистанционного управления (это необязательный шаг, конечно):
$ git remote show origin * remote origin URL: git@oldserver:project.git Remote branch(es) merged with 'git pull' while on branch master master Tracked remote branches masterчто нам нужно сделать, это удалить текущий источник и добавить новый:
$ git remote rm origin $ git remote add origin git@newserver:project.git $ git remote show origin * remote origin URL: git@newserver:project.git Remote branch(es) merged with 'git pull' while on branch master master error: refs/remotes/origin/HEAD points nowhere! New remote branches (next fetch will store in remotes/origin) masterне беспокойтесь об ошибке, показанной последней командой. Первый рывок из источника исправит это:
$ git pull From git@newserver:project.git * [new branch] master -> origin/master Already up-to-date. $ git remote show origin * remote origin URL: git@newserver:project.git Remote branch(es) merged with 'git pull' while on branch master master Tracked remote branches masterЯ все еще свеж с Git так что, возможно, thre это лучший способ сделать это, но это сработало для меня.
нет,вам не придется ничего менять. То есть
- предполагая, что никакие скрипты не задают git_dir, GIT_WORKTREE или git_index напрямую (маловероятно)
у вас нет внешних репозиториев, указывающих на эту копию
Если вы это сделаете, вам придется repoint С помощью
git remote set-url [--push] origin user@yourhost:/home/user/newlocation/Project(origin должно быть имя удаленного устройства; origin-имя по умолчанию при клонировании из удаленного РЕПО)
вы можете переместить каталог git с одной машины на другую или сказать, что вы хотите перенести папку проекта.
вся информация о происхождении хранится в '.папка git', которая создается при инициализации репозитория git в каталоге вашей системы.
процедура
- : переместить папку проекта в другое место.
- : если папка проекта перемещается на новую машину, то создайте соответствующий SSH пара ключей.
- : скажите git, кто вы используете: git config --global пользователь.электронная почта "your_git_email_id@youremail"
Comments