Ответ 1
Я закончил работу с git rm --cached -rf Memflex/из моего Lib-дистрибутива, например: http://db.tt/E0SejkDw
Это удалило каталог, но сохранил подмодуль, и, таким образом, все снова было в волшебном forrest.
Итак, у меня есть проект с некоторыми подмодулями. Все это отлично поработало, пока я не попробовал инструменты Visual Studio git. Я попытался зафиксировать там подмодуль. С тех пор я читал онлайн, что инструменты vs git не поддерживают подмодули должным образом.
Итак, кажется, что я остался с немного беспорядком, и я не уверен, как его разобраться.
когда я выполняю git commit -dry-run, я получаю это: http://db.tt/CRKbC5Gt Верно, что я изменил эти тесты в подмодуле Memflex, но их не следует проверять в основном проекте.
Сам подмодуль все еще работает, я проверил его и проверил на github, все там хорошо.
Итак, моя проблема заключается в том, что содержащий проект сейчас кажется смущенным о подмодуле. Даже если у него есть подмодуль, указанный в .gitmodules
Если я перейду к подмодулям, он все еще показывает, что это подмодуль, поскольку он имеет правильную ветвь подмодуля, например: http://db.tt/sTvQQ9qY
Если я пользователь черепаха git, он пытается проверить каждый отдельный файл подмодуля, который я проверил в visual studio, например: http://db.tt/rtX9rz6r
Итак, в целом: большинство вещей все еще, похоже, работают, все подмодули, похоже, работают по назначению. Единственная проблема заключается в том, что основной проект, содержащий подмодули, теперь пытается проверить все файлы из указанного подмодуля.
Я попытался с git подмодулем init без везения, насколько я вижу, он ничего не сделал.
Обновление: я вижу, что произошло на Ассембле, где находится основной проект: http://db.tt/uscTJ9MB
Я думаю, что я здесь что-то здесь! Только проект, который я проверил из визуального, получил этот каталог, а также подмодуль
Я закончил работу с git rm --cached -rf Memflex/из моего Lib-дистрибутива, например: http://db.tt/E0SejkDw
Это удалило каталог, но сохранил подмодуль, и, таким образом, все снова было в волшебном forrest.
Запуск git 1.9.x/git2.0 (Q2 2014) и commit cbaeafc, завершающий слэш или отсутствие трейлинг-косой черты ' t сделать больше:
Разрешить "
git cmd path/
", когда "path
" - это где подмодуль привязан к рабочему дереву верхнего уровня, чтобы соответствовать "path
", несмотря на лишнюю и ненужную конечную косую черту.
Таким образом, вы не сможете добавить по ошибке содержимое подмодуля в родительское репо (заставляя вас отменить этот ошибочный git add
с помощью git rm --cached -rf
).
Это происходит, если вы используете git add <path-to-submodule>/
, который отличается от git add <path-to-submodule-without-slash>
Во втором случае git начинает отслеживать только каталог, понимая, что на самом деле это ссылка на подмодуль. В первом случае он считает, что вы хотите отслеживать все содержимое папки как часть этого репо.