Как я могу обновить подмодули git в SourceTree?
Где обновление подмодуля git в SourceTree?
Ответы (4)
Я не мог найти ответ сам, поэтому я создал пользовательское действие. Перейдите в «Настройки», «Пользовательские действия» и введите следующую информацию: (Это на Mac. Ваш путь к исполняемому файлу git может отличаться.)
Просто дважды щелкните подмодуль или щелкните левой кнопкой мыши и откройте модуль
Оказавшись в подмодуле, пользовательский интерфейс похож на любой репозиторий git, нажмите «pull/fetch», чтобы обновить заголовок. И вуаля.
git submodule update
? В любом случае, мне не нравятся git fetch
или git pull
(потому что они игнорируют ревизию, указанную в содержащем репозитории.)
- person wnrph; 10.12.2012
git submodule update
— переключиться на версию, указанную в родительском репозитории. (Это хорошо для потребителей, которые просто хотят использовать рекомендуемый подмодуль.) С другой стороны, вытягивание приведет к получению последней версии из вышестоящего репозитория. (Это лучше, если вы хотите работать над подмодулем или если вы хотите использовать последнюю версию независимо от того, какая версия указана в родительском репо.)
- person joeytwiddle; 07.08.2017
Вот версия для Windows:
Эта команда предполагает местоположение вашего sh.exe
— в зависимости от того, как вы настроили SourceTree, оно может быть где-то еще.
/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c "git submodule update"""
Не уверен, является ли это ошибкой, но в версии Sourcetree, которую я использую (v1.6.14.0), я обнаружил, что требуется дополнительная пара цитат ""
в конце - в противном случае существует дополнительная цитата, а затем несбалансированный оператор заставляет sh
лаять:
cmd "/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c "git submodule update""
sh: unexpected EOF while looking for matching `"'
sh: syntax error: unexpected end of file
Completed with errors, see above.
ссылка, предоставленная Isuru, содержит информацию о том, как выполнить обновление (ищите «Изменить фиксацию подмодуля, которую отслеживает ваш репозиторий»)
Короче говоря, в основном репозитории
- выберите раскрывающийся список подмодулей
- дважды щелкните подмодуль, который вы хотите обновить - вы переключите фокус на подмодуль
- вытащить (последнее) или проверить (конкретный коммит) необходимое обновление
- вернуться на вкладку основного репозитория
- будет незафиксированное изменение (какой подмодуль будет использоваться) в основном репозитории
- зафиксировать и нажать изменение