1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/crisy-repo2git

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
repo2git-manual.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 01:02 c556ad2

Руководство по инициализации репозитория:

Создание базового Git-репозитория:

  1. Подготовьте два репозитория repo, один будет использоваться как основной большой Git-репозиторий <code_git>, а другой — как репозиторий для конвертации <code_repo>.
  2. Верните код в репозитории <code_git> до состояния первого коммита с помощью команды repo_change_git.sh --init.
  3. После завершения конвертации проверьте несколько небольших репозиториев внутри <code_git> с помощью команды git log и убедитесь, что они вернулись правильно.
  4. Если все вернулось корректно, удалите папки .git и .repo из репозитория <code_git>. Для этого выполните следующие действия: в директории android репозитория <code_git> выполните команды rm -rf .repo; find . -name .git -exec rm -rf {};.
  5. Теперь инициализация кода завершена. Выполните команды git init, git add -A и git commit -m "common: first version" .
  6. Установите начальный тэг, используя день перед текущей датой. Например, если сегодня 0811, то используйте 0810. Выполните команду git tag -a ali_base_20160810 -m 20160810 в директории android репозитория <code_git>.
  7. Из-за того, что часть кода имеет Windows-форматирование, необходимо изменить кодировку репозитория Git. Выполните команду repo_change_git.sh --dos2unix <code_git>.
  8. После выполнения команды снова сделайте add и commit для завершения подготовки базового Git-репозитория.Конвертация репозитория repo в Git:
  9. Установите начальные метки для репозитория repo. В репозитории <code_repo> установите начальную метку, выполнив команду repo_change_git.sh --test set_tag_of_commit 20160810 (временная метка должна совпадать с тем, что было установлено выше).
  10. Создайте патч для последующего слияния в <code_git>. Выполните команду repo_change_git.sh --repo2git <code_git> путей.
  11. Продолжайте использовать скрипты для слияния патча. При возникновении конфликтов решите их согласно указаниям и выполните команду git am --resume.
  12. Отметьте неверные патчи как неудачные, переместив их в папку failed.patch-fail.
  13. Продолжайте применять патчи с помощью команды repo_change_git.sh --apply <code_git> путей.
  14. Если конфликты продолжаются, повторите шаги 3-4-5.
  15. После применения всех патчей, используйте метки, чтобы отметить, что обе стороны теперь синхронизированы.Последующее обновление:
  16. Обновите репозиторий <code_repo> до последней версии с помощью команды repo_change_git.sh --sync. Этот скрипт автоматически отметит текущую дату как метку обновления.
  17. Создайте патч для слияния в репозиторий <code_git>. Выполните команду repo_change_git.sh --repo2git <code_git>.
  18. При возникновении конфликтов используйте методы решения конфликтов, аналогичные шагам 3-4-5.

Примечания: Два способа решения конфликтов:

  1. Способ 1: Принудительно примите изменения с помощью команды git apply PATCH --reject. Используйте созданный файл .rej для решения конфликтов. Редактировать конфликтные файлы, решать конфликты. Примечание: вручную решите все конфликты, используя .rej файлы. git add FIXED_FILES git am --resolved Затем mv xxx.patch xxx.patch-fail Затем примените патч продолжая работу.

  2. Решение конфликтов 2: При возникновении конфликта, используйте git apply --check, чтобы проверить, какие файлы препятствуют применению патча, а затем найдите решение. Обычно это связано с типами файлов; после проверки используйте fromdos для этих файлов. Затем git add -A Затем am --resolved Затем mv xxx.patch xxx.patch-fail Затем примените патч продолжая работу. git apply 0001-add-line.patch --check fromdos xxxfile git apply 0001-add-line.patch git add -A git am --resolved После решения конфликтов, например, используйте git add, чтобы сообщить Git, что вы завершили разрешение конфликтов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/crisy-repo2git.git
git@api.gitlife.ru:oschina-mirror/crisy-repo2git.git
oschina-mirror
crisy-repo2git
crisy-repo2git
master