|
|
|
# Обновление всех сабмодулей репозитория Work
|
|
|
|
|
|
|
|
Обычно после долгой работы с одной задачей возникает необходимость обновить весь Work
|
|
|
|
На данный момент проблема получения актуальных состояний сабмодулей после простого пула главного репозитория не решена.
|
|
|
|
Есть простой, но достаточно долгий способ получить актуальные состояния всех сабмодулей (в том числе и вложенных). Он заключается в:
|
|
|
|
- Сбросе всех не индексированных изменений из раздела "Коммит" во всех сабмодулях Work
|
|
|
|
- Переключении на необходимую ветку в каждом репозитории
|
|
|
|
- Последующий Pull в каждом репозитории
|
|
|
|
|
|
|
|
Каждое перечисленное действие требует много личного внимания и особенно времени. Нужно будет внимательно следить за состоянием требуемой ветки в каждем репозитории, и убеждаться в том, правильное ли состояние она "сейчас" имеет.
|
|
|
|
|
|
|
|
Что бы не тратить время постоянные переключения веток, и перепроверки "точно ли ветка **origin**?", был сделан простой батник, который сам переключает ветки на **default**ные и делает в каждом репо **pull**.
|
|
|
|
При создании скрипта, исходил из того, что **default**ные ветки не изменятся, а если и поменяются, то можно будет просто поменять 2 строчки.
|
|
|
|
|
|
|
|
Сам батник находится в репозитории Tools `${WORKSPACE}\Tools\Jenkins\Tools\CheckAllHashes.bat`
|
|
|
|
|
|
|
|
Там есть фишка с этим батником.. У большинства он просто не сработает из-за настроек git на ствоём ПК. Сейчас ещё не нашёл той настройки что бы *git* команды выполнялись из командной строки (cmd или powershell) ~~Как говориться, у меня работает, не понимаю почему у тебя нет...~~
|
|
|
|
|
|
|
|
Если батник запустился, и ему удаётся получить корректно ваш пароль от SSH ключа - отлично
|
|
|
|
|
|
|
|
Если не удаётся, то есть два лайфхака:
|
|
|
|
|
|
|
|
1. **Не у всех прокатывает**
|
|
|
|
- Открываем GitExtensions
|
|
|
|
- Вызываем Git.bash (Ctrl+G)
|
|
|
|
- Прямо через окно Git указываем путь к батнику `cd ${PathToWORKDirectory}`
|
|
|
|
- `start CheckAllHashes.bat`
|
|
|
|
|
|
|
|
1. **Чуть дольше, но 100% работает:**
|
|
|
|
- Открываем GitExtensions
|
|
|
|
- Во вклаке "Репозиторий" выбираем "Внешние репозитории..."
|
|
|
|
- В окне кнопка "Проверить соединение"
|
|
|
|
- В открывшемся терминале мы уже залогинены, и достаточно нажать "Enter", что бы git команды выполнялись
|
|
|
|
- Меняем в батнике путь к корню Work *скрин до* -> *скрин после*
|
|
|
|
- Копируем всё, начиная от изменённой строчки и до конца файла
|
|
|
|
- Вставляем в окно терминала, где успешно пройдена проверка ключа
|
|
|
|
- Идём заниматься своими делами
|
|
|
|
|
|
|
|
> Оба варианта работают при условии, что вы **уже загрузили SSH ключ** в GitExtensions
|
|
|
|
|
|
|
|
Когда кто-то найдет способ запуска батника прямо из проводника - поделитесь, пожалуйста) |
|
|
|
\ No newline at end of file |