Можно ли указать новое местоположение локального git-репозитория для существующего конфига?
По умолчанию я обычно запускаю git init
и иметь локальный репозиторий в корневом каталоге. Я храню и работаю с файлами своего проекта на маленьком твердотельном накопителе, но у меня БОЛЬШОЙ SATA HD на той же машине, который мало что делает. Я думал, что я должен начать практиковать использование этого для фактических репозиториев для каждого проекта.
РЕДАКТИРОВАТЬ:
Под этим я имею в виду структуру каталогов:
SMALL-DRIVE> Мой проект>.git> файлы репозитория...
SMALL-DRIVE> Мой проект> src > dev файлы...
и хотя я хотел бы сохранить второй как есть, я хочу переместить 1-й в
BIG-DRIVE > репозитории> Мой проект>.git> файлы репозитория... (или что-то подобное)
Все остается на той же машине, и в удаленном репозитории, к которому я добавляю, не будет никаких изменений.
Я верю, что могу пройти git init
этот новый путь для новых проектов (уверен, я смогу понять это самостоятельно), но есть ли способ обновить существующий конфиг, чтобы использовать новый путь? И если да, есть ли команда, которая будет перемещать текущие файлы в хранилище, или я просто переместил бы вручную каталог.git?
3 ответа
[...] есть ли способ обновить существующую конфигурацию, чтобы использовать новый путь?
Если я правильно понимаю ваш вопрос, у вас есть репо на маленьком, но быстром 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
этот новый путь для новых проектов [...]
Правильный. Используйте ту же команду, что и выше.
Да, ты можешь.
Вариант 1 (предпочтительный): зеркальное отображение
Просто запустите эти команды для зеркалирования хранилища:
git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git
Подробнее о зеркалировании смотрите здесь
Вариант 2: Ручное клонирование и пуш
Первый шаг к git clone
хранилище в локальный каталог.
Затем вы добавляете новый удаленный репозиторий, используя git remote add <name> <url>
Тогда вы можете просто git push <name> --all
отправить все туда
Добавьте новый Remote Git в свой Git Repo
git remote добавить источник git@yourgit.repo
Проверьте новый удаленный репо
git remote -v