У меня проблемы с добавлением папки и всех ее подкаталогов в мой репозиторий git. Я понял, что это очень популярный вопрос после некоторого поиска в Google, и я безуспешно пробовал каждое предложение, особенно предложение со страницы руководства по git-add . Я даже попробовал 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 для добавления всех файлов из каждого подкаталога в мой репозиторий? Прямо сейчас, когда я делаю предложение на странице руководства, git add Dir1/\*
я вижу Dir2
в своем репо, но он отображается как зеленая папка, и я не могу ее открыть, что заставляет меня думать, что все файлы / папки в Dir2
не получили добавлен. Любая помощь будет принята с благодарностью. Я новый пользователь git (пользуюсь им меньше недели), поэтому постарайтесь сохранить свои инструкции на уровне новичка.
источник
git add
любого каталога автоматически рекурсивно. Использованиеgit add .
на верхнем уровне репо должно добавить туда все. Если это не так,.gitignore
уже в игре (локальном или глобальном)..gitignore
? Каким-то образом ваши каталоги игнорируются.git status --ignored
?git add .
вами каталогах нет файлов, они не добавляются. Вам нужно добавить какой-то файл в каталоги, чтобы git мог их отслеживать.Ответы:
Делать,
находясь в корне репозитория. Это все добавит. Если вы это сделаете
git add *
, он добавит только файлы, на которые*
указывает. Одиночная точка относится к каталогу.Если ваш каталог или файл не были добавлены в git index / repo после указанной выше команды, не забудьте проверить, помечены ли они как игнорируемые git в файле .gitignore .
источник
cd Dir1; git init; git add . ; git commit;
больше ничего не требуется. Если у вас есть .gitignore, игнорирующий файлы в каком-то каталоге, но вы все еще хотите их добавить, вам нужно сделатьgit add -f .
вместоgit add .
.Простое решение:
источник
Вы также можете столкнуться с проблемами, если сам подкаталог является репозиторием git, т.е. имеет каталог .git - проверьте с помощью
ls -a
.Для удаления перейдите в подкаталог и
rm .git -rf
.источник
Тоже боролся, но набирал правильно
git add -f ./JS/*
где JS было именем моей папки, содержащей подпапки и файлы
источник
git add ./JS
правильное использование. Он добавит все файлы в каталог и все подкаталоги, по-прежнему заботящиеся об игнорируемых файлах.Я не могу точно сказать, так ли это, но для меня проблемой было наличие файлов .gitignore в некоторых подкаталогах. Опять же, я не могу этого гарантировать, но после их удаления все заработало.
источник
Большинство файлов вероятно .gitignore s при игре. Обратите внимание, что файлы .gitignore могут появляться не только на корневом уровне репо, но и на любом подуровне. Вы можете попробовать это с корневого уровня, чтобы найти их:
находить . -name ".gitignore"
а затем изучите результаты, чтобы увидеть, какие из них могут препятствовать добавлению ваших подкаталогов.
Также могут быть задействованы подмодули. Проверьте неправильные каталоги на наличие файлов ".gitmodules".
источник
Я видел эту проблему раньше, когда имя (подпапки), которое я пытался добавить, начиналось с "_Something_"
Я удалил подчеркивания, и это сработало. Проверьте, есть ли в вашей папке символы, которые могут вызывать проблемы.
источник