Как обновить субмодуль до последнего коммита, когда он находится в отсоединенном состоянии HEAD? - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь обновить свои подмодули, чтобы они использовали более позднюю фиксацию.

Когда мы используем подмодули, они должны оставаться в отсоединенном состоянии головы. Это нормально.

$ cd myproject
$ cd otherlibrary
$ git status .
HEAD detached from 091eccc
nothing to commit, working tree clean

Я немного поработал в otherlibrary, и теперь я хотел бы обновить myproject, чтобы он использовал эти новые коммиты в otherlibrary. Это означает, что мне нужно как-то «обновить подмодуль».

Это не работает: (видите, у него все тот же номер коммита)

$ cd myproject
$ cd otherlibrary
$ git submodule update --remote
$ git status .
HEAD detached from 091eccc
nothing to commit, working tree clean

Для полноты я также попробовал вот так git submodule update --rebase --remote и вот так git submodule update --merge --remote и это не имеет никакого значения.

Я также прочитал эти две ТАК статьи, в которых говорится на эту тему, но моя проблема не решается этим :

1 Ответ

0 голосов
/ 12 января 2020

Как указано phd в комментарии , чтобы использовать git submodule update, вы должны быть в суперпроекте .

(Все git submodule update --remote делает cd в подмодуле, запустите git fetch, а затем запустите git checkout, так что если вы по какой-то причине не хотите возвращаться к суперпроекту, вы можете запустить git fetch и git checkout самостоятельно. Если вы сделаете это, вы можете поэкспериментировать с результатами выборки и тщательно выбрать конкретный c коммит, который вам нужен, а не просто взять тот, который обозначен origin/master или чем-то еще. Конечно, если тот, который вы как равно , в зависимости от того, какой из них обозначен origin/master, git submodule update --remote удобно.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...