Gitignore где должен лежать
Перейти к содержимому

Gitignore где должен лежать

  • автор:

Игнорирование в Git

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

1. Отслеживаемый файл — файл, который был предварительно проиндексирован или зафиксирован в коммите.

2. Неотслеживаемый файл — файл, который не был проиндексирован или зафиксирован в коммите.

3. Игнорируемый файл — файл, явным образом помеченный для Git как файл, который необходимо игнорировать.

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

  • кэши зависимостей, например содержимое /node_modules или /packages ;
  • скомпилированный код, например файлы .o , .pyc и .class ;
  • каталоги для выходных данных сборки, например /bin , /out или /target ;
  • файлы, сгенерированные во время выполнения, например .log , .lock или .tmp ;
  • скрытые системные файлы, например .DS_Store или Thumbs.db ;
  • личные файлы конфигурации IDE, например .idea/workspace.xml .

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

  • Игнорирование файлов в Git
    • Шаблоны игнорирования в Git
    • Общие файлы .gitignore в вашем репозитории
    • Персональные правила игнорирования в Git
    • Глобальные правила игнорирования в Git
    • Игнорирование ранее закоммиченного файла
    • Коммит игнорируемого файла
    • Скрытие изменений в игнорируем файле
    • Отладка файлов .gitignore

    Пропуск файлов

    Вы можете настроить Git для игнорирования файлов, которые вы не хотите возвращать в GitHub.

    Platform navigation

    Настройка игнорируемых файлов для одного репозитория

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

    GitHub поддерживает официальный список рекомендуемых .gitignore файлов для многих популярных операционных систем, сред и языков в общедоступный репозиторий github/gitignore. Вы также можете использовать gitignore.io для создания .gitignore файла для операционной системы, языка программирования или интегрированной среды разработки. Дополнительные сведения см. в разделе github/gitignore и на сайте gitignore.io.

    1. Откройте Терминал Терминал GIT Bash .
    2. Перейдите к расположению репозитория Git.
    3. .gitignore Создайте файл для репозитория.

    touch .gitignore 

    Пример .gitignore файла см. в разделе «Некоторые распространенные конфигурации gitignore» в репозитории Octocat.

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

    git rm --cached FILENAME 

    Настройка игнорируемых файлов для всех репозиториев на компьютере

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

    Чтобы всегда игнорировать определенный файл или каталог, добавьте его в файл с именем ignore , расположенным внутри каталога ~/.config/git . По умолчанию Git будет игнорировать все файлы и каталоги, перечисленные в глобальном файле ~/.config/git/ignore конфигурации. git Если каталог и ignore файл еще не существуют, их может потребоваться создать.

    Исключение локальных файлов без создания файла .gitignore

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

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

    1. Откройте Терминал Терминал GIT Bash .
    2. Перейдите к расположению репозитория Git.
    3. Откройте файл .git/info/exclude с помощью избранного текстового редактора.

    Дополнительные материалы

    • Игнорировать файлы в документации по Git
    • .gitignore в документации по Git
    • Коллекция полезных шаблонов .gitignore в репозитории github/gitignore
    • Сайт gitignore.io

    Как правильно добавить файл gitignore?

    ‘#’ Lines starting with ‘#’ are considered comments. ‘#’ Ignore any file named foo.txt. foo.txt ‘#’ Ignore (generated) html files, *.html ‘#’ except foo.html which is maintained by hand. !foo.html ‘#’ Ignore objects and archives. *.[oa] .idea/ .target/ .out/

    Отслеживать
    36.1k 2 2 золотых знака 55 55 серебряных знаков 81 81 бронзовый знак
    задан 6 июл 2016 в 12:42
    10.9k 17 17 золотых знаков 62 62 серебряных знака 127 127 бронзовых знаков
    Файл должен называться .gitignore
    6 июл 2016 в 12:45
    6 июл 2016 в 12:46

    @nzeemin следуя примеру github.com/github/gitignore не файл должен называться .gitignore , а его расширение. Верно?

    6 июл 2016 в 12:51
    @AlekseyTimoshchenko в мире unix всё, что начинается с точки — скрытый файл, не более
    6 июл 2016 в 12:56

    расширение — это не более чем абстракция, которая принята как часть общей конвенции. Файл не обязан иметь его или часть до него.

    6 июл 2016 в 13:16

    3 ответа 3

    Сортировка: Сброс на вариант по умолчанию

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

    Называться он должен .gitignore (с точкой в начале).

    Если у вас linux (или unix-like), то да, можно создать его через команду echo » > .gitignore или touch .gitignore . Но если вы не понимаете зачем это, то можете создать его в вашем любимом текстовом редакторе (только расширение убрать не забудьте).

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

    Git: Глобальный .gitignore файл (global gitignore)

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

    При этом следует различать два уровня игнорирования: уровень операционной системы и уровень проекта.

    Например, MacOS для своей работы создаёт файлы .DS_Store , директории __MACOS__ или Windows создаёт файлы thumb.db . Кроме того, различные IDE создают свои служебные файлы, например, директория .idea у редакторов на движке IntelliJ IDEA (на котором в том числе реализован rubymine).

    В rails проектах .gitignore создается автоматически и уже содержит указания какие файлы и директории игнорировать по умолчанию. Например, там лежат файлы из директории log (логи), из директории tmp (кэш и прочие данные, сгенерированные в процессе работы приложения), файлы с базами данных (если для разработки в dev окружении используется sqlite).

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

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

    По умолчанию на nix системах гит смотрит на исключения, описанные в файле по адресу ~/.config/git/ignore (на Windows он находится %USERPROFILE%\git\ignore ). Если мы хотим добавить свой файл, то можно это сделать так.

    Как создать глобальный .gitignore файл

    Первый шаг: создать файл в домашнем каталоге пользователя, на linux так.

    touch ~/.gitignore 

    На винде создайте файл руками в домашней директории, например, C:/Users/Sasha .

    Второй шаг: добавляем файлы (папки не распознаются)

    # Это будет работать *.gz *.7z # это не будет работать так как это папки .vscode/ build/ # но можно добавить с указанием файлов .vscode/* build/* 

    Указываем гиту на глобальный .gitignore

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

    git config --global core.excludesFile '~/.gitignore' 

    Для Windows cmd:

    git config --global core.excludesFile "%USERPROFILE%\.gitignore" 

    Для Windows PowerShell:

    git config --global core.excludesFile "$Env:USERPROFILE\.gitignore" 

    Если используется MacOS то файл должен иметь название .gitignore_global и соответственно изменения добавляются командой:

    git config --global core.excludesfile ~/.gitignore_global 

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

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