Подтвердить что ты не робот

Экспорт git с историей версий

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

a) Добавьте исходный репозиторий в качестве удаленного и выполните слияние с целью. Я не могу использовать это, так как оба репозитория не находятся в одной сети.

b) Используйте git архив и скопируйте содержимое в цель. В этом архиве git информация о ревизии теряется.

Мне нужно что-то, что делает архив вместе с историей версий и позволяет мне объединиться в цель. Как это можно сделать?

4b9b3361

Ответ 1

git bundle предоставляется для этой цели.

Пример:

  • Связывает исходный репозиторий полностью

    git bundle create my_repo.bundle --all

  • Возьмите `my_repo.bundle '', где ваша цель

  • Из вашей цели загрузите объекты фиксации источника

    git bundle unbundle my_repo.bundle

    ... с какого момента вы можете объединить/переустановить/вишня - выберите нужный источник в своем целевом репозитории для вашего сердечного контента.

    В противном случае вытаскивание работает одинаково:

    git pull my_repo.bundle

По сравнению с клонированием пакеты проще переносить, потому что они меньше по мере того, как ваши файлы не переносятся в их проверенном состоянии.

Другие причины использования пакета:

  • В отличие от использования clone --bare (который не проверяет ваши файлы) пучки создаются и упаковываются как один файл, поэтому вам не нужны дополнительное сжатие/архивирование.

  • Вы также можете просто архивировать исходный репозиторий (или просто .git), но вы будете переносить весь избыточный кеш и мусор, который создается под .git/.

Ответ 2

Git клонировать хранилище на USB-накопитель, ноутбук или какой-либо другой носитель передачи данных. Подключитесь к другой машине, добавьте среду как удаленный и потяните/слейте изменения оттуда...

Любой клон из репозитория фактически содержит всю историю, поэтому вопрос в том, как вы можете получить клон на другой машине.

Также см.: этот вопрос

Ответ 3

Вы хотите создать вилку своего текущего репозитория. Дайте мне знать, если я прав: Вы хотите клонировать конкретный репозиторий git. Работайте над клоном, а затем объедините изменения в исходный репозиторий?

Это делается для создания вилки вашего репозитория, а затем вытаскивания изменений из исходного источника для изменений фиксации.

Ответ 4

Вы можете просто закрепить всю папку репозитория, а затем скопировать ее на целевую рабочую станцию ​​(через USB-накопитель и т.д.) и добавить этот локальный репозиторий в качестве удаленного репозитория. Затем вы можете получить и слить.