Подмодуль Git показывает новые коммиты, статус подмодуля ничего не говорит о фиксации

По умолчанию Xvfb создаст сокет домена Unix для подключения клиентов. В моей системе этот файл сокета файла создается в /tmp/.X11-unix/ . Вы можете использовать inotifywait для прослушивания событий в этом каталоге. Например,

 $ inotifywait -e create /tmp/.X11-unix/

, а затем запустите Xvfb: 9 (например, дисплей 9). Когда он будет готов, вы должны увидеть

/tmp/.X11-unix/ CREATE X9

из inotifywait , который завершится. Теперь у вас должна быть возможность подключиться к DISPLAY =: 9 .

50
09.07.2015, 17:12
2 ответа

Я только что столкнулся с той же проблемой, и я смог использовать решение, предложенное @AugustinAmenabar в разделе комментариев к принятому ответу. Моя установка была немного более сложной, поэтому я добавил флаг - recursive , чтобы обновить все зависимости.

git submodule update src / repo --recursive

23
27.01.2020, 19:33

Ни один из ответов здесь не решает мою проблему.

Я документирую/делюсь здесь тем, что сработало для меня. Надеясь, что это поможет кому-то еще.

Первоначально мой подмодуль был в коммите A(во время добавления субмодуля в основной репозиторий ), затем я проверил ветку (назовем ееnew-submodule-branch)и сделал коммиты B и C к ней и отправил его на удаленный (github.com)

Опубликуйте это, мой основной репозиторий начал показывать

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   <submodule_name> (new commits)

Если из основного корня репо я запускал git submodule update --remote --init --recursive, он продолжал возвращать HEAD моего подмодуля в отсоединенное состояние для фиксации A

Затем я устанавливаю значение перехода как new-submodule-branchв <MainRepo>/.gitmodulesследующим образом

[submodule "<submodule_name>"]
    path = <submodule_name>
    url = git@github.com:ProProgrammer/<submodule_name>.git
    branch = new-submodule-branch

опубликуйте это, когда я запустил git submodule update --remote --init --recursive, он больше не возвращал HEAD моего подмодуля в отсоединенное состояние для фиксации A, однако он все еще продолжал показывать раздражающее

    modified:   <submodule_name> (new commits)

До сих пор я следовал официальному справочному руководству по git для подмодулей , теперь я решил еще немного поискать в Google и наткнулся на статью под названием Получение подмодуля git для отслеживания ветки , это ясно сказано

You have to go and update that submodule commit reference to the latest code in the remote branch to avoid this

Итак, наконец,Я сделал то, чего пытался избежать:

git add <submodule_name>
git commit --amend --no-edit # I combined this with the previous commit where I added the 'branch' value in.gitmodules

Если вы хотите увидеть, как это выглядит после отправки на удаленный (github.com в моем случае ), вы можете увидеть этот точный коммит здесь

2
11.04.2020, 11:19

Теги

Похожие вопросы