Где обновление подмодуля git в SourceTree?

Как я могу обновить подмодули git в SourceTree?


person wnrph    schedule 15.10.2012    source источник


Ответы (4)


Я не мог найти ответ сам, поэтому я создал пользовательское действие. Перейдите в «Настройки», «Пользовательские действия» и введите следующую информацию: (Это на Mac. Ваш путь к исполняемому файлу git может отличаться.) настраиваемое действие обновления подмодуля git

person edmengel    schedule 03.04.2013
comment
вы также можете использовать обновление подмодуля --init --recursive. Добавлять --init безвредно, если инициализация уже была выполнена, и может понадобиться, если вы только что клонировали репозиторий с подмодулями. --recursive безвреден, если у вас нет подмодулей, которые ссылаются на другие подмодули, и необходим, если они есть. - person ctpenrose; 26.02.2014

Просто дважды щелкните подмодуль или щелкните левой кнопкой мыши и откройте модуль введите здесь описание изображения

Оказавшись в подмодуле, пользовательский интерфейс похож на любой репозиторий git, нажмите «pull/fetch», чтобы обновить заголовок. И вуаля.

person Raymond Chenon    schedule 09.12.2012
comment
Вы уверены, что это делает то, что делает git submodule update? В любом случае, мне не нравятся git fetch или git pull (потому что они игнорируют ревизию, указанную в содержащем репозитории.) - person wnrph; 10.12.2012
comment
хороший вопрос !! Исходя из subversion, я не знал разницы между выборкой и обновлением. Взгляните на answers.atlassian.com/questions/33274/ - person Raymond Chenon; 12.12.2012
comment
Это позволит проверить последнюю версию, если вы спросите меня, а не проверить коммит, который зафиксирован в основном репо. - person Ambidex; 25.06.2014
comment
Это именно то, что я искал, и это также описано в документация. Если есть новые изменения в подмодуле, который вы хотите использовать в своем репозитории, все, что вам нужно сделать, это открыть подмодуль (двойной щелчок) и проверить/обновить до другого коммита либо путем извлечения, слияния, либо просто ручная проверка фиксации... Как только вы это сделаете, вернитесь в родительский репозиторий, и вы увидите незафиксированное изменение в подмодуле, которое покажет в diff изменение в отслеживаемой фиксации: - person GolezTrol; 22.02.2016
comment
Цель 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.
person dtmland    schedule 25.03.2015
comment
Похоже, это не работает, но, возможно, это связано с тем, что SourceTree добавляет дополнительную пару кавычек вокруг всей строки параметра. - person GolezTrol; 22.02.2016

ссылка, предоставленная Isuru, содержит информацию о том, как выполнить обновление (ищите «Изменить фиксацию подмодуля, которую отслеживает ваш репозиторий»)

Короче говоря, в основном репозитории

  • выберите раскрывающийся список подмодулей
  • дважды щелкните подмодуль, который вы хотите обновить - вы переключите фокус на подмодуль
  • вытащить (последнее) или проверить (конкретный коммит) необходимое обновление
  • вернуться на вкладку основного репозитория
  • будет незафиксированное изменение (какой подмодуль будет использоваться) в основном репозитории
  • зафиксировать и нажать изменение
person CharlieBird    schedule 23.02.2017
comment
в принципе это то что нужно - person Adi; 13.12.2017