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