Основний трюк полягає в тому, щоб експортувати git bundle, а потім імпортувати його знову у щойно ініціалізований репозиторій.
Зауважте, що новий репозиторій не буде сумісним зі старим — хоча він містить ті самі коміти, ця стратегія міграції не забезпечує жодної прямої сумісності
Як мігрувати з репозиторію SHA1 у SHA256
git_bundle_migrate.sh
# Створити новий репозиторій з SHA-256
git init --object-format=sha256 new-repo
# Перейти до каталогу старого репозиторію та створити bundle
cd old-repo
git bundle create ../repo-bundle --all
# Перейти до нового репозиторію та розпакувати bundle
cd ../new-repo
git bundle unbundle ../repo-bundle
# Перевірити гілки
git branch -aЯк мігрувати з репозиторію SHA256 у SHA1
git_bundle_migrate_back.sh
# Створити новий репозиторій з SHA-1
git init --object-format=sha1 new-repo
# Перейти до каталогу старого репозиторію та створити bundle
cd old-repo
git bundle create ../repo-bundle --all
# Перейти до нового репозиторію та розпакувати bundle
cd ../new-repo
git bundle unbundle ../repo-bundle
# Перевірити гілки
git branch -a
Дивіться схожі статті за категоріями:
Git
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow