Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Не каждый файл в проекте нуждается в отслеживании по Git. Примеры файлов, которые обычно не требуют отслеживания, включают временные файлы из среды разработки, выходные данные тестирования и журналы.
Вы можете использовать несколько механизмов для информирования Git о том, какие файлы в проекте не должны отслеживаться и гарантировать, что Git не сообщает об изменениях этих файлов. Для файлов, которые Git не отслеживает, можно использовать .gitignore файл или exclude файл. Для файлов, которые Git уже отслеживает, можно указать Git прекратить их отслеживание и игнорировать любые изменения.
Предпосылки
| Категория | Требования |
|---|---|
| доступ к проекту | Член проекта. |
| Разрешения | — Просмотр кода в частных проектах: по крайней мере базовый доступ. — Клонирование или участие в работе с кодом в частных проектах: член группы безопасности Contributors или наличие соответствующих разрешений в проекте. — Задайте разрешения ветви или репозитория: управление разрешениями для ветви или репозитория. — Настройте политики ветви, проверки состояния или измените ветку по умолчанию: требуется разрешение Изменение политик для репозитория или ветви либо членство в группе безопасности Администраторы проекта. — Импорт репозитория: член группы безопасности администраторов проектов или разрешение на уровне проекта Git Создать репозиторий, установленное в Разрешить. Дополнительные сведения см. в разделе "Настройка разрешений репозитория Git". |
| Services | Репозиторий активирован. |
| Инструменты | Необязательно. Используйте az repos команды: Azure DevOps CLI. |
| Категория | Требования |
|---|---|
| доступ к проекту | Член проекта. |
| Разрешения | — Просмотр кода: по крайней мере базовый доступ. — Клонирование или внесение изменений в код: член группы безопасности Contributors или обладание соответствующими разрешениями в проекте. |
| Services | Репозиторий активирован. |
Использование файла .gitignore
Вы можете сообщить Git не отслеживать определенные файлы в проекте, добавив и настроив файл gitignore . Ознакомьтесь со следующими ключевыми пунктами:
-
Незаслеченные файлы: записи в
.gitignoreфайле применяются только к незаслеченным файлам. Они не позволяют Git сообщать об изменениях в отслеживаемых файлах. Отслеживаемые файлы — это файлы, которые были зафиксированы и существуют в последнем снимке состояния Git. -
Шаблоны поиска файлов: каждая строка в
.gitignoreфайле указывает шаблон поиска файлов относительно пути к файлу.gitignore. Синтаксис .gitignore является гибким и поддерживает использование подстановочных знаков для указания отдельных или нескольких файлов по имени, расширению и пути. Git сопоставляет.gitignoreшаблоны поиска с файлами в проекте, чтобы определить, какие файлы следует игнорировать. -
Расположение. Как правило, файл добавляется
.gitignoreв корневую папку проекта. Однако вы можете добавить файл.gitignoreв любую папку проекта, чтобы сообщить Git, какие файлы игнорировать в этой папке и её вложенных папках на любой глубине вложенности. Для нескольких.gitignoreфайлов шаблоны поиска файлов,.gitignoreуказанные в папке, имеют приоритет над шаблонами,.gitignoreзаданными файлом в родительской папке. -
Создание. Вы можете вручную создать
.gitignoreфайл и добавить в него записи шаблона файлов. Вы также можете сэкономить время, скачав.gitignoreшаблон для среды разработки из репозитория GitHub gitignore. -
Преимущества. Одно из преимуществ использования
.gitignoreфайла заключается в том, что вы можете зафиксировать изменения и поделиться им с другими пользователями.
Замечание
Visual Studio автоматически создает .gitignore файл для среды разработки Visual Studio при создании репозитория Git.
Visual Studio 2022 предоставляет интерфейс управления версиями Git с помощью меню Git, изменений Git и контекстных меню в обозревателе решений. Visual Studio 2019 версии 16.8 также предлагает пользовательский интерфейс Team Explorer Git. Дополнительные сведения см. на вкладке Visual Studio 2019 — Team Explorer .
В окне изменений Git щелкните правой кнопкой мыши любой измененный файл, который нужно Git игнорировать, а затем выберите «Игнорировать этот локальный элемент» или «Игнорировать это расширение». Эти параметры меню не существуют для отслеживаемых файлов.
- Параметр "Игнорировать этот локальный элемент " добавляет новую запись в
.gitignoreфайл и удаляет выбранный файл из списка измененных файлов. - Параметр "Игнорировать это расширение " добавляет новую запись в
.gitignoreфайл и удаляет все файлы с тем же расширением, что и выбранный файл из списка измененных файлов.
Любая из опций создает файл .gitignore, если он еще не существует в корневой папке репозитория, и добавляет в него запись.
Измените файл .gitignore
Каждая запись в .gitignore файле — это шаблон поиска файлов, указывающий, какие файлы игнорировать, комментарий, начинающийся с знака номера (#), или пустая строка (для удобства чтения). Синтаксис .gitignore является гибким и поддерживает использование подстановочных знаков для указания отдельных или нескольких файлов по имени, расширению и пути. Все пути к шаблонам поиска файлов относятся к файлу .gitignore .
Ниже приведены некоторые примеры распространенных шаблонов поиска файлов:
# Ignore all files with the specified name.
# Scope is all repo folders.
config.json
# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json
# Add an exception to prevent ignoring a file with the specified name.
# Scope is all repo folders.
!package.json
# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile
# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile
# Ignore all files in the 'logs' subfolder.
/logs/
Как только вы измените .gitignore файл, Git обновляет список файлов, которые он игнорирует.
Замечание
Пользователи Windows должны использовать косую черту (/) в качестве разделителя пути в .gitignore файле вместо использования обратной косой черты (\). Все пользователи должны добавить конечную косую черту при указании папки.
Используйте глобальный файл .gitignore
Можно определить файл .gitignore как глобальный файл исключений, который применяется ко всем локальным репозиториям Git. Для этого используйте следующую git config команду:
git config core.excludesfile <gitignore file path>
Глобальный .gitignore файл помогает убедиться, что Git не фиксирует определенные типы файлов, например скомпилированные двоичные файлы, в любом локальном репозитории. Шаблоны поиска файлов в файле, относящемся к репозиторию .gitignore , имеют приоритет над шаблонами в глобальном .gitignore файле.
Используйте файл исключения
Вы также можете добавить записи для шаблонов поиска файлов в файл exclude в папку .git/info/ вашего локального репозитория. Файл exclude позволяет Git знать, какие неотслеживаемые файлы игнорировать. Он использует тот же синтаксис для шаблонов поиска файлов, что и файл .gitignore.
Записи в exclude файле применяются только к неследящимся файлам. Они не препятствуют Git сообщать об изменениях в зафиксированных файлах, которые он уже отслеживает. Для каждого репозитория существует только один exclude файл.
Так как Git не фиксирует или отправляет exclude файл, его можно безопасно использовать, чтобы игнорировать файлы в локальной системе, не затрагивая других пользователей.
Использование git update-index для пропуска изменений
Иногда удобно временно остановить отслеживание локального файла репозитория и игнорировать изменения в файле Git. Например, может потребоваться настроить файл параметров для среды разработки без риска фиксации изменений. Для этого можно выполнить git update-index команду с флагом skip-worktree :
git update-index --skip-worktree <file path>
Чтобы возобновить отслеживание, выполните git update-index команду с флагом --no-skip-worktree .
Кроме того, можно временно остановить отслеживание файла и временно игнорировать изменения в файле с помощью команды git update-index с флагом assume-unchanged. Этот параметр менее эффективен, чем флаг skip-worktree, потому что операция Git pull, которая изменяет содержимое файла, может возвратить флаг assume-unchanged.
git update-index --assume-unchanged <file path>
Чтобы возобновить отслеживание, выполните git update-index команду с флагом --no-assume-unchanged .
Использование git rm для пропуска изменений
Записи в файле .gitignore или exclude не влияют на файлы, которые Git уже отслеживает. Git отслеживает файлы, которые ранее были зафиксированы. Чтобы окончательно удалить файл из моментального снимка Git, чтобы Git больше не отслеживал его, но не удаляя его из файловой системы, выполните следующие команды:
git rm --cached <file path>
git commit <some message>
Затем используйте запись файла .gitignore или exclude, чтобы запретить Git сообщать об изменениях в файле.