Git субмодуль отменить коммит - PullRequest
0 голосов
/ 04 июля 2018

У меня есть подмодуль sub в проекте Git super. Теперь есть несколько ветвей super, и каждая может указывать на другой коммит sub. Изменение ветви super через

>$ git checkout <branchname>

неправильно адаптирует sub, чтобы снова указывать на правильный коммит. Вместо результата

>$ git status

содержит измененную запись для sub.

Это только одна из нескольких ситуаций, в которых может потребоваться отменить любые изменения sub и оформить коммит, на который действительно указывает super.

Для файлов вы всегда можете запустить

>$ git checkout -- path/to/file

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

Я знаю, что это возможно с помощью комбинации двух команд:

>$ git submodule deinit -f /path/to/sub
>$ git submodule update --init --recursive /path/to/sub

но я ищу более короткую версию, которую легче запомнить и быстрее набирать;)

Есть ли у вас какие-либо рекомендации?

Ответы [ 2 ]

0 голосов
/ 17 июля 2018

Как упомянул Торек, пропуск шага deinit работает хорошо. Таким образом, следующая команда выполняет эту работу за меня:

git submodule update --recursive /path/to/submodule

Спасибо всем за ответы!

0 голосов
/ 04 июля 2018

Не могли бы вы попробовать эту команду и проверить?

git checkout --recurse-submodules {branch_name}

...