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

120

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

git add *

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

git add -f *

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

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

Е-богатых
источник

Ответы:

251

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

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

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

Nic
источник
3
а что, если я сделаю, git add --all .какая разница git add .в этом контексте?
Katedral Pillon
2
это то же самое, что и git add.
user454232
27
git add .

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

Леом Берк
источник
13

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

wadesworld
источник
5

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

Из документации Github :

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

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

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