Подмодуль git показывает как измененный в родительском каталоге - PullRequest
1 голос
/ 02 октября 2019

У меня есть библиотека, помеченная как подмодуль git в моем проекте, и я часто делаю изменения в lib. Каждый раз, когда я фиксирую это изменение, последующее git status в родительском репо показывает, что подмодуль изменился. Я также использую __git_ps1, и поэтому подсказка родительского каталога показывает, что есть незафиксированные изменения.

parent-project (master *) $ git diff
diff --git a/my-submodule b/my-submodule
index 5eb2e9f..fd40630 160000
--- a/my-submodule
+++ b/my-submodule
@@ -1 +1 @@
-Subproject commit 5eb2e9fdcb85ab5a1f57e622b17cc76e5af749b7
+Subproject commit fd406308851b5521980f4578960c428200c66371

Мне известны два варианта:

  1. git commit submodule от родителя, который создает ненужные коммиты, или
  2. удалить и повторно добавить подмодуль, которыйкажется излишним.

Есть ли способ сообщить родительскому репо Обновить подмодуль ref до последнего мастера и перейти на ? Я не хочу ссылаться на конкретную версию git, просто на главу master или любую другую ветку, которую я выберу.

Спасибо!

1 Ответ

1 голос
/ 02 октября 2019

Есть ли способ сообщить родительскому репо Обновите подмодуль ref до последнего мастера

Да, с опцией --remote :

git submodule update --remote

и двигаться дальше?

Ну, ... это все равно изменит дерево SHA1 подмодуля, поэтому вам все равно придется делать коммит, но вы можете делать коммит всякий раз, когда вносите свои собственные изменения в родительский репозиторий. .

Возможно, локально вы можете игнорировать это с помощью:

cd /parent/repo
git update-index --assume-unchanged -- submoduleFolder # no trailing slash
...