Git - Создание файла .gitignore

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

Я использовал это.gitignore файл, который я нашел:

###################
# compiled source #
###################
*.com
*.class
*.dll
*.exe
*.pdb
*.dll.config
*.cache
*.suo
# Include dlls if they’re in the NuGet packages directory
!/packages/*/lib/*.dll
# Include dlls if they're in the CommonReferences directory
!*CommonReferences/*.dll
####################
# VS Upgrade stuff #
####################
UpgradeLog.XML
_UpgradeReport_Files/
###############
# Directories #
###############
bin/
obj/
TestResults/
###################
# Web publish log #
###################
*.Publish.xml
#############
# Resharper #
#############
/_ReSharper.*
*.ReSharper.*
############
# Packages #
############
# it’s better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
######################
# Logs and databases #
######################
*.log
*.sqlite
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
 Dancrumb15 июн. 2012 г., 14:27
Можете ли вы предоставить вывод `git status, пожалуйста?
 Funky15 июн. 2012 г., 14:33
хорошо, когда я набираю git status, я получаю огромный список всех dll и pdb файлов в решении
 legoscia15 июн. 2012 г., 14:18
Какие файлы он не может игнорировать?
 Funky15 июн. 2012 г., 14:22
он не может игнорировать dll и pdb
 ellotheth15 июн. 2012 г., 15:36
Похоже, вы скопировали / вставили со страницы Github. Проверьте все окончания строк и конечные пробелы. (Я знаю, это звучит странно, но.dll это не то же самое, что.dll .)

Ответы на вопрос(4)

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

git update-index --assume-unchanged path/to/file.txt

команда. После пометки файла как такового, git будет полностью игнорировать любые изменения в этом файле; они не будут отображаться при запуске git status или git diff и никогда не будут зафиксированы.

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

Обратите внимание: если вы уже зафиксировали файлы, которые пытаетесь игнорировать (т. Е. Git отслеживает их), то они не могут быть проигнорированы. Вы должны были бы сначала отследить их.

https://help.github.com/articles/ignoring-files

 06 сент. 2012 г., 16:05
Я подозреваю, что проблема в том, что @Funky уже зафиксировал эти файлы, как вы говорите, поэтому решение будет состоять в том, чтобы удалить их из индекса git с помощьюgit rm file... и после.gitignore будет "работать"

.gitignore в индекс до того, как git его увидит. то естьgit add .gitignore

 Funky15 июн. 2012 г., 14:41
Я добавил его и использовал git push, затем запустил git status, но результат все тот же
 15 июн. 2012 г., 15:32
Как сказал Руди,.gitignore не должен быть частью вашего хранилища. (Сам файл .gitignore часто является моей первой записью.)
 15 июн. 2012 г., 15:08
Достаточно иметь .gitignore в папке верхнего уровня. Нет необходимости добавлять idt в репо.

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

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

Если у вас есть test.dll в корне, вы должны сделать

git rm --cached test.dll

Теперь, если у вас много файлов, как вы сказали, вы можете выбрать следующую опцию, удалить все из кэша, добавить все обратно (файлы в .gitignore не будут добавлены) и зафиксировать все снова.

git rm -r --cached .
git add .
git commit -m "Start using .gitignore"

Ваш ответ на вопрос