Оновлення git submodules

Як оновити один або кілька субмодулів git репозиторію до цільової версії.

Кожен субмодуль закріплений за тегом або комітом через поле *-pin у .gitmodules. Дотримуйтесь наведеного нижче процесу, щоб оновити один або кілька субмодулів до цільової версії.

Аргументи

  1. Один або кілька субмодулів для оновлення (шлях або імʼя). Субмодулі, доступні для оновлення, оголошені в .gitmodules, і включають:

    • themes/docsy, тема Docsy
    • content-modules/*, субмодулі OpenTelemetry
  2. Цільова версія (для кожного субмодуля або всіх):

    • Конкретний тег або коміт
    • latest для останнього тегованого релізу
    • HEAD для голови гілки за замовчуванням

Процес

  1. Запустіть npm run update:submodule.

    Отримує теги та переключає кожен субмодуль на стандартну вершину гілки віддаленого репозиторію, щоб значення pin можна було визначити локально на наступному кроці.

  2. Для кожного субмодуля визначте нове значення pin з цільової версії, виконуючи команди git всередині субмодуля:

    • Конкретний тег або коміт: використовуйте його як дано, після перевірки, що він існує за допомогою git rev-parse --verify <tag-or-commit>, який виводить відповідний SHA, коли він дійсний.

      Щоб побачити список дійсних тегів, виконайте git tag --list.

    • Останній реліз: git describe --tags --abbrev=0

    • HEAD: SHA1 для HEAD

    Для commit pins, включаючи HEAD:

    • Якщо git describe --tags <commit> успішно виконується, використовуйте його вихід як pin, оскільки він передає найближчий реліз – наприклад, v1.23.0-11-gca090204 проти ca090204.
    • Інакше використовуйте SHA1 для <commit>.
  3. Змініть значення *-pin субмодуля в .gitmodules.

  4. Запустіть npm run pin:submodule, щоб переключити субмодулі на їх нові pin, і перевірте, що повідомлені ревізії (також доступні через git submodule) відповідають pin.

  5. Зробіть commit змін у .gitmodules та gitlink(s) субмодуля. Використовуйте повідомлення commit, наприклад “Update <submodule> to <version>” для оновлень одного модуля або щось подібне для інших випадків. Commit зараз запобігає наступному кроку скидання субмодулів до їх раніше збережених gitlink.

  6. Запустіть npm run prepare, щоб оновити залежності субмодулів. Зробіть commit будь-яких результатів змін, за потреби доповнюючи попередній commit.

Перевірка:

  • Для швидкої перевірки запустіть npm run build і переконайтеся, що він виконується без помилок або (неочікуваних) попереджень.
  • Для комплексної перевірки запустіть npm run test і переконайтеся, що він проходить без помилок.

  1. Повний SHA іноді необхідний, але зазвичай достатньо короткого SHA. ↩︎ ↩︎

Востаннє змінено July 12, 2026: [uk] Ukrainian documentation for OpenTelemetry (0301c8f3)