Можно ли импортировать один git репозиторий в другой с сохранением истории, идеально tags?

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

Один из способов импорта - это добавление удаленного репозитория, использование команды git remote add и слияние (merge) веток с другими ветками в новом репозитории.

Прежде всего, нужно создать новый репозиторий, куда будет происходить импорт:

$ mkdir new-repo
$ cd new-repo
$ git init

Затем добавляем удаленный репозиторий в новый репозиторий:

$ git remote add old-repo /path/to/old-repo

Теперь перейдем к импорту веток и тегов из старого репозитория:

$ git fetch old-repo

После выполнения этой команды все ветки из старого репозитория будут доступны в новом репозитории. Теперь, чтобы слияние (merge) выбранной ветки из старого репозитория с веткой в новом репозитории, можно использовать команду git merge:

$ git merge old-repo/branch-name

Если требуется импортировать все теги из старого репозитория, можно использовать следующую команду:

$ git fetch --tags old-repo

Это позволит импортировать все теги из удаленного старого репозитория в новый репозиторий.

Однако, импортирование репозитория может оказаться сложной задачей в некоторых случаях, особенно если старый репозиторий имеет нестандартную структуру или использует специфические фичи Git.

В некоторых случаях, может быть лучше использовать инструменты для миграции репозиториев, такие как git filter-branch или сторонние инструменты, которые позволяют более точно настраивать процесс импорта.

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