Как исправить «измененный контент, неотслеживаемый контент» в git? - PullRequest
0 голосов
/ 04 мая 2018

Цель состоит в том, чтобы зафиксировать ветку git. Вывод «git status» для ветви:

On branch zeromq_new
Your branch is up to date with 'origin/zeromq'.

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:   log4cplus (modified content, untracked content)
      modified:   ../lib/notification/cppzmq (modified content)

Структура каталогов выглядит следующим образом:

HySecureGateway
├──fes
│   └──log4cplus
│       ├──.git
│       ├──.gitattributes
│       ├──.gitignore
│       ├──.gitmodules
│       ├──catch
│       │   ├──.git
│       │   ├──.gitattributes
│       │   ├──.github
│       │   ├──.gitignore
│       │   └──.github
│       │       ├──issue_template.md
│       │       └──pull_request_template.md
│       └──threadpool
│           └──.github
└──lib
    └──notification
        └──cppzmq
            ├──.git
            └──.gitignore

Я прочитал ответ на похожий вопрос здесь:

Как отслеживать неотслеживаемый контент? ,

и не мог понять это полностью. Также logc4plus / .gitmodules содержит это:

[submodule "threadpool"]

        path = threadpool
        url = https://github.com/log4cplus/ThreadPool.git

[submodule "catch"]

        path = catch
        url = https://github.com/philsquared/Catch.git

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Что я сделал для запуска:

git rm -rf --cached myuntrackedfolder

Это говорит git забыть об этом (так как он отслеживался формально).

Тогда я использовал:

git add myuntrackedfolder 

чтобы добавить его, и мне было хорошо идти.

0 голосов
/ 10 октября 2018

Решение включает в себя удаление .git / из каталогов с меткой «измененный контент, неотслеживаемый контент», удаление файла --cached из этих каталогов, а затем повторный запуск git add в этих каталогах.

Пошаговое решение:

  1. Удалить .git / из log4cplus и ../lib/notification/cppzmq.
  2. Из родительского каталога, из которого вы инициализировали свой репозиторий git, выполните команду: git rm -rf --cached log4cplus/ && git rm -rf --cached ../lib/notifications/cppzmq
  3. Добавить и зафиксировать каталоги в вашей ветке снова.
  4. Нажмите на вашу ветку.

Удачного кодирования.

0 голосов
/ 07 мая 2018

Подмодули не зависят от репо, в котором они находятся. Что git status говорит вам, что эти подмодули изменены каким-то образом с момента их извлечения. Вы не будете знать, что это такое, пока не наберете git status в каждом подмодуле, содержащем это сообщение.

Если вы зайдете в каждый из подмодулей и выполните git status в cppzmq и log4cplus, вы можете затем сделать git status в каждом, чтобы выяснить, в чем отличие. В этот момент вы можете зафиксировать изменения, если необходимо, нажать их, а затем обновить, где указаны субмудл.

...