Как сделать gitignore файл

.gitignore

Git рассматривает каждый файл в вашей рабочей копии как файл одного из трех нижеуказанных типов.

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

Шаблоны игнорирования в Git

ШаблонПримеры соответствияПояснение*
**/logslogs/debug.log
logs/monday/foo.bar
build/logs/debug.log
Добавьте в начало шаблона две звездочки, чтобы сопоставлять каталоги в любом месте репозитория.
**/logs/debug.loglogs/debug.log
build/logs/debug.log
но не
logs/build/debug.log
Две звездочки можно также использовать для сопоставления файлов на основе их имени и имени родительского каталога.
*.logdebug.log
foo.log
.log
logs/debug.log
Одна звездочка — это подстановочный знак, который может соответствовать как нескольким символам, так и ни одному.
*.log
!important.log
debug.log
trace.log
но не
important.log
logs/important.log
Добавление восклицательного знака в начало шаблона отменяет действие шаблона. Если файл соответствует некоему шаблону, но при этом также соответствует отменяющему шаблону, указанному после, такой файл не будет игнорироваться.
*.log
!important/*.log
trace.*
debug.log
important/trace.log
но не
important/debug.log
Шаблоны, указанные после отменяющего шаблона, снова будут помечать файлы как игнорируемые, даже если ранее игнорирование этих файлов было отменено.
/debug.logdebug.log
но не
logs/debug.log
Косая черта перед именем файла соответствует файлу в корневом каталоге репозитория.
debug.logdebug.log
logs/debug.log
По умолчанию шаблоны соответствуют файлам, находящимся в любом каталоге
debug?.logdebug0.log
debugg.log
но не
debug10.log
Знак вопроса соответствует строго одному символу.
debug9.logdebug0.log
debug1.log
но не
debug10.log
Квадратные скобки можно также использовать для указания соответствия одному символу из заданного диапазона.
debug[01].logdebug0.log
debug1.log
но не
debug2.log
debug01.log
Квадратные скобки соответствуют одному символу из указанного набора.
debug[!01].logdebug2.log
но не
debug0.log
debug1.log
debug01.log
Восклицательный знак можно использовать для указания соответствия любому символу, кроме символов из указанного набора.
debug[a-z].logdebuga.log
debugb.log
но не
debug1.log
Диапазоны могут быть цифровыми или буквенными.
logslogs
logs/debug.log
logs/latest/foo.bar
build/logs
build/logs/debug.log
Без косой черты в конце этот шаблон будет соответствовать и файлам, и содержимому каталогов с таким именем. В примере соответствия слева игнорируются и каталоги, и файлы с именем logs
logs/logs/debug.log
logs/latest/foo.bar
build/logs/foo.bar
build/logs/latest/debug.log
Косая черта в конце шаблона означает каталог. Все содержимое любого каталога репозитория, соответствующего этому имени (включая все его файлы и подкаталоги), будет игнорироваться
logs/
!logs/important.log
logs/debug.log
logs/important.log
Минуточку! Разве файл logs/important.log из примера слева не должен быть исключен нз списка игнорируемых?

Нет! Из-за странностей Git, связанных с производительностью, вы не можете отменить игнорирование файла, которое задано шаблоном соответствия каталогу

logs/**/debug.loglogs/debug.log
logs/monday/debug.log
logs/monday/pm/debug.log
Две звездочки соответствуют множеству каталогов или ни одному.
logs/*day/debug.loglogs/monday/debug.log
logs/tuesday/debug.log
but not
logs/latest/debug.log
Подстановочные символы можно использовать и в именах каталогов.
logs/debug.loglogs/debug.log
но не
debug.log
build/logs/debug.log
Шаблоны, указывающие на файл в определенном каталоге, задаются относительно корневого каталога репозитория. (При желании можно добавить в начало косую черту, но она ни на что особо не повлияет.)

Персональные правила игнорирования в Git

Глобальные правила игнорирования в Git

Игнорирование ранее закоммиченного файла

Коммит игнорируемого файла

Этот способ хорош, если у вас задан общий шаблон (например, *.log ), но вы хотите сделать коммит определенного файла. Однако еще лучше в этом случае задать исключение из общего правила:

Этот подход более прозрачен и понятен, если вы работаете в команде.

Скрытие изменений в игнорируем файле

При желании команде git check-ignore можно передать несколько имен файлов, причем сами имена могут даже не соответствовать файлам, существующим в вашем репозитории.

Готовы изучить Git?

Ознакомьтесь с этим интерактивным обучающим руководством.

Источник

Как сделать gitignore файл

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

Какие файлы следует игнорировать?

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

.gitignore использует glob шаблоны для сопоставления имен файлов с символами подстановки (Это что-то вроде регулярных выражений). Если у вас есть файлы или каталоги, содержащие шаблон подстановки (например * ), вы можете использовать один обратный слеш ( \* ), чтобы экранировать такой символ.

Комментарии

Строки, начинающиеся со знака хэша (# ), являются комментариями и игнорируются. Пустые строки могут быть использованы для улучшения читабельности файла и группировки связанных строк шаблонов.

Если шаблон не начинается со слэша, он соответствует файлам и каталогам в любом каталоге или подкаталоге.

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

Имена файлов

ШаблонПримеры совпадений
/access.logaccess.log
access.logaccess.log
logs/access.log
var/logs/access.log
build/build

Символы подстановки

ШАБЛОНПРИМЕРЫ СОВПАДЕНИЙ
*.logerror.log
logs/debug.log
build/logs/error.log
ШАБЛОНПРИМЕРЫ СОВПАДЕНИЙ
logs/**Совпадает со всем, что находится в каталоге logs.
**/buildvar/build
pub/build
build
foo/**/barfoo/bar
foo/a/bar
foo/a/b/c/bar
ШАБЛОНПРИМЕРЫ СОВПАДЕНИЙ
access?.logaccess0.log
access1.log
accessA.log
foo??fooab
foo23
foo0s

Квадратные скобки

ШАБЛОНПРИМЕРЫ СОВПАДЕНИЙ
*.[oa]file.o
file.a
*.[!oa]file.s
file.1
file.0
access.1.logaccess.0.log
access.1.log
access.2.log
file.[a-c].outfile.a.out
file.b.out
file.c.out
file.[a-cx-z].outfile.a.out
file.b.out
file.c.out
file.x.out
file.y.out
file.z.out
access.[!0-2].logaccess.3.log
access.4.log
access.Q.log

Исключающие шаблоны

ШАБЛОНПРИМЕРЫ СОВПАДЕНИЙ
*.log
!error.log
error.log or logs/error.log will not be ignored

Персональные правила игнорирования

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

Например, чтобы установить

/.gitignore_global в качестве глобального файла игнорирования Git, выполните следующие действия:

2. Добавьте этот файл в Git-конфигурацию:

3. Откройте файл в текстовом редакторе и добавьте в него свои правила.

Глобальные правила особенно полезны при игнорировании определенных файлов, которые вы никогда не захотите фиксировать, таких как файлы с конфиденциальной информацией или скомпилированные исполняемые файлы.

Игнорирование ранее зафиксированных файлов

Файлы в вашей рабочей копии могут отслеживаться или не отслеживаться.

Например, чтобы проверить, почему файл www/yarn.lock игнорируется, нужно выполнить следующее:

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

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

Отображение всех игнорируемых файлов

Заключение

Источник

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

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

Обычно вы хотите, чтобы код и конфигурация отслеживались только через git. Это связано с тем, что сгенерированные файлы эфемерны, и если вы удалите их, вы можете просто восстановить их снова. Часто нет смысла загружать их, поскольку они просто усложнят ситуацию и вызовут ненужные конфликты слияния.

Это широкое определение, поэтому давайте рассмотрим пример. В проектах Node JS есть папка с именем node_modules, которая содержит все внешние пакеты, которые необходимо запустить вашему коду. Вы можете удалить этот каталог и полностью перестроить его, запустив команду npm install, которая использует конфигурацию package.json для поиска пакетов.

Так какой смысл иметь папку node_modules в Git? На самом деле его нет, так как он более сложный, может вызвать проблемы и даже во многих случаях может значительно увеличить размер репозитория Git.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Вы можете настроить это разными способами, но основные инструменты, которые у вас есть:

Например, Node JS gitignore может выглядеть следующим образом:

Добавление файлов в белый список с помощью! может быть очень полезным для многих конфигураций. Например, в одном из моих проектов у меня был инструмент steamcmd, который загружает зависимости для игровых серверов из Steam. Этот инструмент упакован в один переносимый исполняемый файл, но он производит огромное количество мусора, который я не хочу отслеживать в Git.

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

Проект / steamcmd / **! Project / steamcmd / steamcmd.exe

gitignore также использует некоторые другие Unix шарик шаблоны для сопоставления строк, например вопросительный знак для сопоставления одного символа или [a-z] который будет соответствовать наборам символов.

# Результаты сборки
[Dd]ebug /
[Dd]ebugPublic /
[Rr]elease /
[Rr]eleases /

Если вы все равно хотите установить его, вы можете сделать это с помощью следующей команды:

git config —global core.excludesfile

Принудительная фиксация или сохранение игнорируемых файлов

Принудительная фиксация, как правило, плохая идея — вам, вероятно, следует добавить белый список для этого конкретного файла, потому что после фиксации обновления этого файла не будут отслеживаться. Но если вы хотите что-то зафиксировать вручную, вы можете запустить git add с параметром —force:

Точно так же git stash также может хранить локальные изменения в игнорируемых файлах, что на самом деле может быть полезно, поскольку не повлияет на удаленное репо:

Источник

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

41 Answers 41

If you’re using Windows it will not let you create a file without a filename in Windows Explorer. It will give you the error «You must type a file name» if you try to rename a text file as .gitignore

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

To get around this I used the following steps

Alternatively @HenningCash suggests in the comments

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

As simple as things can (sometimes) be: Just add the following into your preferred command line interface (GNU Bash, Git Bash, etc.)

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

========== In Windows ==========

======== Easy peasy! No command line required! ========

On Windows you can use cmd echo «» >.gitignore

MacOS / Linux one-liner

An easy way to get a default git ignore without messing about with create/copy/paste is to use the curl command from the terminal. First cd into your projects root directory and then run the command by replacing MY_API_NAME with your API name from one of the following two sources:

gitignore.io

You can find your API name by searching from the list here and clicking Generate.

GitHub

Alternatively you can use the ones at GitHub. Find the filename for your API here.

Windows

Here are some similar alternatives for Windows.

I want my contribution as well. This time, animated one 🙂

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Using Git Bash console.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

My contribution is aimed at those on a Mac, and it can be applied to not only those working on an iOS project (as implied by the question mentioning Xcode), but any type of project.

Step 1
While in your project, type the following command

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Step 2
You now have your file open with Vim.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Press i to insert text. You will see that the file is ready when you see the —INSERT— at the bottom.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Step 3 (option 2)
Add whatever files apply to your project.

If you are not sure what to add, the best keywords to use in your search engine would be to include your project type and text editor. For example, if you use Sublime Text you would want to add

And if you are working with a Cordova project in Dreamweaver you would want to add

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Here a nice tip under Windows:

Tested under Windows 7 and 8.

This tip assumes that your Windows Explorer displays the file extensions.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

to instantly edit gitignore.

If you dont know which files are should be gitignored for your IDE or Operating System just goto www.gitignore.io

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Install gi command for OS X:

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Also just in case you wanted to ignore Xcode files, refer to an answer to Git ignore file for Xcode projects.

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

in windows, open a dos prompt(cmd) windows, use command line:

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

With copy con command:

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

The following works in PowerShell and a command prompt (CMD):

To add additional files to ignore, just call the following command:

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Windows Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

Select the IDE, operating systems or programming language. It will automatically generate for you. Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

then you have to change the name writing the following line on the cmd:

where git.txt is the name of the file you’ve just created.

Then you can open the file and write all the files you don´t want to add on the repository. For example mine looks like this:

Once you have this, you need to add it to your git repository. You have to save the file where your repository is.

Then in your git bash you have to write the following line:

Как сделать gitignore файл. Смотреть фото Как сделать gitignore файл. Смотреть картинку Как сделать gitignore файл. Картинка про Как сделать gitignore файл. Фото Как сделать gitignore файл

If the respository already exists then you have to do the following:

If the step 2 dowsn´t work then you should write the hole route of the files that you would like to add.

Источник

Игнорирование файлов и каталогов в Git (.gitignore)

Какие файлы следует игнорировать?

Игнорируемые файлы обычно представляют собой файлы для конкретной платформы или автоматически созданные файлы из систем сборки. Вот некоторые общие примеры:

.gitignore Шаблоны

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

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

Комментарии

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

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

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

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

Буквальные имена файлов

Самый простой шаблон — это буквальное имя файла без каких-либо специальных символов.

ШаблонПримеры совпадений
/access.logaccess.log
access.logaccess.log
logs/access.log
var/logs/access.log
build/build

Подстановочные символы

* — символ звездочки соответствует нулю или более символам.

ШаблонПримеры совпадений
*.logerror.log
logs/debug.log
build/logs/error.log

** — Два соседних символа звездочки соответствуют любому файлу или нулю или более каталогам. Если за ним следует косая черта ( / ), он соответствует только каталогам.

? — Знак вопроса соответствует любому одиночному символу.

ШаблонПримеры совпадений
access?.logaccess0.log
access1.log
accessA.log
foo??fooab
foo23
foo0s

Квадратных скобок

ШаблонПримеры совпадений
*.[oa]file.o
file.a
*.[!oa]file.s
file.1
file.0
access.2.logaccess.0.log
access.1.log
access.2.log
file.[ac].outfile.a.out
file.b.out
file.c.out
file.[a-cx-z].outfile.a.out
file.b.out
file.c.out
file.x.out
file.y.out
file.z.out
access.[!0-2].logaccess.3.log
access.4.log
access.Q.log

Отрицательные паттерны

ШаблонПримеры совпадений
*.log
!error.log
error.log или logs/error.log не будут проигнорированы

.gitignore Пример

Шаблоны, определенные в файлах, которые находятся в каталогах (подкаталогах) более низкого уровня, имеют приоритет над шаблонами в каталогах более высокого уровня.

Личные правила игнорирования

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

Файл можно назвать как угодно и хранить в любом месте. Чаще всего этот файл хранится в домашнем каталоге. Вам придется вручную создать файл и настроить Git для его использования.

Например, чтобы установить

/.gitignore_global в качестве глобального файла игнорирования Git, вы должны сделать следующее:

Добавьте файл в конфигурацию Git:

Откройте файл в текстовом редакторе и добавьте в него свои правила.

Глобальные правила особенно полезны для игнорирования определенных файлов, которые вы никогда не хотите фиксировать, например файлов с конфиденциальной информацией или скомпилированных исполняемых файлов.

Игнорирование ранее зафиксированных файлов

Файлы в вашей рабочей копии можно отслеживать или нет.

Например, чтобы проверить, почему файл www/yarn.lock игнорируется, вы должны запустить:

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

Отображение всех игнорируемых файлов

Выводы

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *