git add -A не работает

Даже после выполнения git add -A, когда я запускаю git status, я получаю это:

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   src/cartographer (modified content, untracked content)
#   modified:   src/cartographer_ros (untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")

Есть идеи, как это исправить?

1 ответ

Решение

Это не имеет ничего общего с -A опция: измененный контент, неотслеживаемый контент означает, что эти папки являются субмодулями.

Эти суб-репо включают файлы, которые не отслеживаются или изменяются.

Вам необходимо:

  • зайдите в эти каталоги,
  • добавить и зафиксировать там (и отправить на соответствующий пульт, предполагая, что эти изменения должны внести свой вклад в их исходные репозитории),
  • затем вернитесь к родительскому репо, добавьте и подтвердите снова для записи новой ссылки git ( специальная запись в родительском индексе, записывающая новый SHA1 этих подмодулей)

Но если эти изменения носят чисто локальный характер и могут быть проигнорированы (то есть любой, кто снова клонирует ваше хранилище с вашими текущими изменениями, все равно сможет заставить вашу программу работать без каких-либо изменений в подмодулях), тогда вы можете игнорировать git status выход.

Другие вопросы по тегам