Git добавить все, кроме игнорирования файлов в файле .gitignore

Я добавляю исходный контроль в проект, у которого его нет. Проблема состоит в том, что для первоначального добавления в git с файлом .gitignore есть много файлов, но я не могу понять, как добавить все файлы, не включая файлы, соответствующие чему-то в файле .gitignore.

git add *

Приведенная выше команда не добавит никаких файлов, поскольку обнаруживает файлы, которые игнорируются .gitignore.

git add -f *

Вышеупомянутая команда добавит все файлы, включая файлы, которые я хочу игнорировать.

Итак, как я могу добавить все файлы, все еще придерживаясь файла .gitignore?

Ответ 1

Я думаю, вы имеете в виду git add ., который добавит все файлы в репо, которые НЕ указаны в .gitignore - вы можете увидеть эти изменения, набрав git status

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

Мой обычный поток git должен создать файл .gitignore и добавить файлы проекта в репо. Я проведу файл .gitignore, набрав git status после импорта файлов - если я увижу файлы, которые я добавил (например, только .php или .html, NOT.mp3 или .mov), вы можете git add ., чтобы добавить все, и git commit -m "initial commit", чтобы зафиксировать их, и вы должны быть установлены.

Ответ 2

git add .

Это добавит все пути и проигнорирует совпадения от .gitignore

Ответ 3

Попробуйте git add . (что означает "добавить все файлы в текущий каталог и ниже" )

Ответ 4

Другой вариант - использовать файл Git repo exclude. Этот файл работает аналогично файлу .gitignore, но не привязан к репо.

Из Документы Github:

Вы можете использовать эту технику для локально сгенерированных файлов, которые вы не ожидаете от других пользователей, таких как файлы, созданные вашим редактором.

Используйте свой любимый текстовый редактор, чтобы открыть файл с именем .git/info/exclude в корневом каталоге вашего репозитория Git. Любое правило, которое вы добавили здесь, не будет проверено, и будет игнорировать файлы только для вашего локального репозитория.

  • В терминале перейдите к расположению вашего репозитория Git
  • Используя ваш любимый текстовый редактор, откройте файл .git/info/exclude
  • Добавьте правила в файл exclude так же, как и файл .gitignore