Можно ли указать новое местоположение локального git-репозитория для существующего конфига? - PullRequest
0 голосов
/ 15 января 2019

По умолчанию я обычно запускаю git init и у меня есть локальный репозиторий в корневом каталоге. Я храню и работаю с файлами своего проекта на маленьком твердотельном накопителе, но у меня БОЛЬШОЙ SATA HD на той же машине, который мало что делает. Я думал, что я должен начать практиковать использование этого для фактических репозиториев для каждого проекта.


EDIT:
Под этим я имею в виду структуру каталогов:

SMALL-DRIVE> Мой проект> .git> файлы репозитория ...
SMALL-DRIVE> Мой проект> src> dev файлы ...

и хотя я хотел бы сохранить 2-й как есть, я хочу переместить 1-й на

BIG-DRIVE> хранилища> Мой проект> .git> файлы хранилища ... (или что-то подобное)

Все остается на той же машине, и в удаленном репозитории, к которому я добавляю, не будет никаких изменений.

Я верю Я могу передать git init этот новый путь для новых проектов (уверен, что смогу понять это самостоятельно), но есть ли способ обновить существующую конфигурацию, чтобы использовать новую дорожка? И если так, есть ли команда, которая будет перемещать текущие файлы в хранилище, или я просто переместил бы вручную каталог .git?

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Добавление нового удаленного git в Git Repo

git remote add origin git@yourgit.repo

Проверка нового удаленного репо

git remote -v

0 голосов
/ 15 января 2019

[...] есть ли способ обновить существующую конфигурацию, чтобы использовать новый путь?

Если я правильно понимаю ваш вопрос, у вас есть репо на небольшом, но быстром HD, и вы хотели бы

  • переместить каталог репо .git на большой и медленный HD,
  • все же сохраните рабочее дерево репо на маленьком и быстром HD.

Я прав?

В этом случае, git init --separate-git-dir прямо в вашем переулке. Цитирование справочной страницы git init :

--separate-git-dir=<git dir> Вместо того, чтобы инициализировать хранилище в качестве каталога либо $GIT_DIR, либо ./.git/, создайте там текстовый файл, содержащий путь к реальному хранилищу. Этот файл действует как независимая от файловой системы символическая ссылка Git на хранилище.

Если это повторная инициализация, хранилище будет перемещено по указанному пути.

Итак, просто cd в репозиторий и затем запустите

git init --separate-git-dir <desired-location-on-big-and-slow-drive>

Я верю Я могу передать git init этот новый путь для новых проектов [...]

Правильно. Используйте ту же команду, что и выше.

0 голосов
/ 15 января 2019

Да, вы можете.

Вариант 1 (предпочтительный): зеркальное отображение

Просто запустите эти команды для зеркалирования хранилища:

git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git

Подробнее о зеркалировании здесь

Вариант 2: ручное клонирование и push

Первым шагом является git clone хранилище в локальном каталоге.

Затем вы добавляете новый удаленный репозиторий, используя git remote add <name> <url>

Тогда вы можете просто git push <name> --all отправить все туда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...