Подтвердить что ты не робот

Git добавить все подкаталоги

У меня возникли проблемы с добавлением папки и всех ее подкаталогов в мой репозиторий git. Я понял, что это очень популярный вопрос после выполнения некоторых поисковых запросов, и я пробовал каждое предложение без везения, в частности предложение из man page на git - добавить. Я даже пробовал git add -A без успеха. Для простоты, скажем, я инициализировал мой репозиторий git как Dir1. Тогда у меня есть следующая структура каталогов файлов.

Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt

Мои реальные файлы имеют подкаталоги, которые занимают 5-6 уровней, поэтому есть ли команда git для добавления всех файлов в каждый подкаталог в мой репозиторий? Прямо сейчас, когда я делаю предложение с man-страницы git add Dir1/\*, я вижу Dir2 в своем репо, но он отображается как зеленая папка, и я не могу ее открыть, что заставляет меня думать, что все файлы /folders в Dir2 не добавлены. Любая помощь будет принята с благодарностью. Я новый пользователь git (менее чем за неделю его использования), поэтому старайтесь хранить свои инструкции на уровне начинающих.

4b9b3361

Ответ 1

Do

git add .

а в корне репозитория. Это добавит все. Если вы сделаете git add *, он добавит только файлы *. Единая точка относится к каталогу.

Если ваш каталог или файл не был добавлен в git index/repo после указанной выше команды, не забудьте проверить, помечается ли оно как игнорируемое git в .gitignore.

Ответ 2

Вы также можете столкнуться с проблемами, если сам подкаталог представляет собой репозиторий git - то есть .has каталог .git - проверьте с помощью ls -a.

Чтобы удалить, перейдите в подкаталог и rm .git -rf.

Ответ 3

Также боролся, но получил правильную печать

git add -f./JS/*

где JS - это имя моей папки, которое содержит подпапки и файлы

Ответ 4

Я не могу сказать наверняка, если это так, но для меня возникла проблема с наличием .gitignore файлов в некоторых подкаталогах. Опять же, я не могу этого гарантировать, но все работало после того, как они были удалены.

Ответ 5

Скорее всего, файл .gitignore s находится в игре. Обратите внимание, что .gitignore файлы могут отображаться не только на корневом уровне репо, но и на любом уровне. Вы можете попробовать это с корневого уровня, чтобы найти их:

найти. -name ".gitignore"

а затем просмотрите результаты, чтобы увидеть, что может препятствовать добавлению ваших субдиров.

Там также могут быть подмодули. Проверьте файлы-нарушители для файлов ".gitmodules".

Ответ 6

Я видел эту проблему раньше, когда (подпапка), которую я пыталась добавить, ее имя начиналось с "_Something _"

Я удалил символы подчеркивания, и это сработало. Проверьте, есть ли в вашей папке символы, которые могут вызывать проблемы.