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

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

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

Я использовал этот .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
4b9b3361

Ответ 1

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

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

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

git rm --cached test.dll

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

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

Ответ 2

вам нужно добавить .gitignore в индекс перед тем, как git видит его. т.е. git add .gitignore

Ответ 3

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

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

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

Ответ 4

Из ссылки @thescientist отправил:

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

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

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