Каков статус моего подмодуля git и как его очистить? - PullRequest
10 голосов
/ 26 марта 2012

Будучи относительным субмодулем, noob, я хотел обновить свой подмодуль, используя его источник, и сделал:

git pull

Это привело к:

remote: Counting objects: 111, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 57 (delta 54), reused 57 (delta 54)
Unpacking objects: 100% (57/57), done.
From github.com:eteanga/smarty
   8e9a011..818ab3e  master     -> origin/master
You are not currently on a branch, so I cannot use any
'branch.<branchname>.merge' in your configuration file.
Please specify which remote branch you want to use on the command
line and try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

Попытка исправить:

git pull origin master

Выход:

From github.com:eteanga/smarty
 * branch            master     -> FETCH_HEAD
Updating 8e9a011..818ab3e
Fast-forward
[snip]

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

Что я должен был сделать, чтобы правильно обновить мой подмодуль, и что я должен сделать, чтобы исправить это текущее состояние?

1 Ответ

19 голосов
/ 26 марта 2012

После git submodule update для HEAD в подмодуле устанавливается хэш коммита подмодуля, сохраненный в суперпроекте. Если вы хотите сбросить HEAD в подмодуле, чтобы отслеживать новые коммиты в origin/master, сначала вам нужно оформить заказ до master, а затем вытащить изменения:

В каталоге подмодулей:

git checkout master
git pull origin master
...