Как добавить папку в gitignore
Перейти к содержимому

Как добавить папку в gitignore

Игнорировать изменения файлов с помощью Git

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

В этой статье раскрываются следующие темы:

  • Игнорировать изменения в неотслеченных файлах с помощью .gitignore файла
  • Игнорировать изменения в неотслеченных файлах с помощью exclude файла
  • Остановка отслеживания файла и пропуск изменений с помощью git update-index
  • Остановка отслеживания файла и пропуск изменений с помощью git rm

Использование файла gitignore

Вы можете сообщить Git, что не отслеживать определенные файлы в проекте, добавив и настроив .gitignore файл. Записи в .gitignore файле применяются только к неотслеченным файлам и не препятствуют Git сообщать об изменениях в отслеживаемых файлах. Отслеживаемые файлы — это файлы, зафиксированные и существующие в последнем моментальном снимке Git.

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

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

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

  • Visual Studio 2019
  • Visual Studio 2017 & ранее

Visual Studio 2019 версии 16.8 и более поздних версий предоставляет возможности управления версиями Git при сохранении пользовательского интерфейса Git Team Explorer. Чтобы использовать Team Explorer, снимите флажок ToolsOptionsPreview> >FeaturesNew>Git в строке меню. Функции Git можно использовать из любого интерфейса взаимозаменяемо. Ниже приведено параллельное сравнение создания и добавления записей в .gitignore файл.

Visual Studio автоматически создает .gitignore файл для среды разработки Visual Studio при создании нового репозитория Git.

Visual Studio Git

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

Screenshot of the context menu options for changed files in the Git Changes window in Visual Studio 2019.

Обозреватель Team Explorer в Visual Studio

В представлении «Изменения»в Team Explorer щелкните правой кнопкой мыши любой измененный файл, который требуется игнорировать Git, и выберите » Пропустить этот локальный элемент » или «Пропустить это расширение«. Эти параметры меню не существуют для отслеживаемых файлов.

Screenshot of the context menu options for changed files in Team Explorer in Visual Studio 2019.

Параметр «Игнорировать этот локальный элемент » добавляет новую запись в .gitignore файл и удаляет выбранный файл из списка измененных файлов.

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

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

Visual Studio автоматически создает .gitignore файл в репозитории при создании нового репозитория для проекта.

Вы можете изменить .gitignore файл для репозитория, перейдя в представление Параметры в Team Explorer, а затем выбрав репозиторий Параметры. Выберите «Изменить » для своего .gitignore .

Screenshot of the ignore file edit option in Visual Studio.

Изменение файла gitignore

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

Ниже приведены некоторые примеры распространенных шаблонов поиска файлов.

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

Windows пользователи должны использовать разделитель пути косой черты в .gitignore файле вместо обратной косой черты. Все пользователи должны добавить конечный путь / при указании папки.

Использование глобального файла gitignore

Файл можно назначить .gitignore как глобальный файл пропуска, который применяется ко всем локальным репозиториям Git. Для этого используйте следующую git config команду:

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

Использование файла исключения

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

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

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

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

Иногда бывает удобно временно прекратить отслеживание локального файла репозитория и игнорировать изменения в файле Git. Например, может потребоваться настроить файл параметров для среды разработки без риска фиксации изменений. Для этого можно выполнить git update-index команду с флагом skip-worktree :

Чтобы возобновить отслеживание, выполните git update-index команду с флагом —no-skip-worktree .

Кроме того, вы можете временно прекратить отслеживание файла и пропустить изменения в файле с помощью git update-index команды с флагом assume-unchanged . Этот параметр менее эффективен, чем skip-worktree флаг, так как assume-unchanged флаг может быть отменен операцией Git pull , которая изменяет содержимое файла.

Чтобы возобновить отслеживание, выполните git update-index команду с флагом —no-assume-unchanged .

Использование Git rm для пропуска изменений

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

Затем используйте .gitignore запись или exclude запись файла, чтобы запретить Git сообщать об изменениях в файле.

Add newly created specific folder to .gitignore in Git

I had a clean working directory and brought in a clone from a Git repo last night. But now my local server created and contains a stats folder which I want to ignore.

I can’t seem to get Git to ignore this folder when I run a git status.

I added in my .gitignore a few different lines but it still trying to add them:

user avatar

5 Answers 5

But since the files in git status reported as to be commited that means you’ve already added them manually. In which case, of course, it’s a bit too late to ignore. You can git rm —cache them (IIRC).

For this there are two cases

Case 1: File already added to git repo.

Case 2: File newly created and its status still showing as untracked file when using

If you have case 1:

STEP 1: Then run

to remove it from git repo cache

if it is a directory then use

STEP 2: If Case 1 is over then create new file named .gitignore in your git repo

STEP 3: Use following to tell git to ignore / assume file is unchanged

STEP 4: Now, check status using git status open .gitignore in your editor nano, vim, geany etc. any one, add the path of the file / folder to ignore. If it is a folder then user folder_name/* to ignore all file.

Как задать папку в gitignore?

bitniks

Файл .gitignore, как правило, является скрытым, поэтому найдите в вашем проекте его.

Затем, чтобы указать имя той папки, которую необходимо исключить из отслеживания вам нужно поставить название папки или путь до неё.

node_modules # Игнорируется папка node_modules

.local # Игнорируется файл .local

someFile.txt # Игнорируется файл someFile.txt

notes/main_page.txt # Здесь игнорируется только файл main_page.txt

*.exe # Игнорировать все файлы с разрешением .exe

Ссылка на документацию
Для более глубокого понимания советую прочитать эту статью

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

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