Как игнорировать определенные файлы в git? - PullRequest
659 голосов
/ 30 ноября 2010

У меня есть хранилище с файлом Hello.java. Когда я компилирую его, создается дополнительный файл Hello.class.

Я создал запись для Hello.class в файле .gitignore. Тем не менее, файл по-прежнему отслеживается.

Я хочу знать, как заставить git игнорировать Hello.class.

Ответы [ 17 ]

5 голосов
/ 30 ноября 2010

Путем создания файла .gitignore.Подробности смотрите здесь: Git Book - Игнорирование файлов

Также проверьте это: Как заставить Git игнорировать файлы без использования .gitignore?

3 голосов
/ 29 декабря 2016

Вы также можете использовать .gitattributes (вместо .gitignore) для исключения целых типов файлов.Файл довольно понятен, но я вставляю содержимое здесь для справки.Обратите внимание на последнюю строку (двоичный файл * .class)

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary
2 голосов
/ 02 августа 2018

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

git rm --cached FILENAME

если вы только начинаете проект и хотите добавить некоторые файлы в git ignore, выполните следующие шаги для создания git ignore file

1. Navigate to your git Repo.
2. Enter "touch .gitignore" which will create a .gitignore file.
2 голосов
/ 27 сентября 2017

У меня была похожая проблема с файлом "dump.rdb".
Я пытался добавить этот файл различными способами в файл .gitignore, но работал только один способ.

Добавьте свое имя файла в конце файла .gitignore

ПРИМЕЧАНИЕ. Добавление файла в другом месте не помогло.

Например, см .: https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore

2 голосов
/ 15 июня 2017

Добавьте следующую строку в .git / info / exclude:
Hello.class

2 голосов
/ 05 января 2017

Эта веб-страница может быть полезной и экономящей время при работе с .gitignore.

Она автоматически генерирует файлы .gitignore для различных IDE и операционных систем с конкретными файлами / папками, которые выобычно не хотят загружать в ваш git-репозиторий (например, специфичные для IDE папки и файлы конфигурации).

0 голосов
/ 05 июля 2017

Я пробовал --assume-unchanged, а также .gitignore, но ни один не работал хорошо.Они затрудняют переключение веток и затрудняют объединение изменений от других.Это мое решение:

Когда я фиксирую , я вручную удаляю файлы из списка изменений

До того, как я тяну , я заначка измененные файлы.И после pull я делаю stash pop .

  1. git stash
  2. git pull
  3. git stash pop

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

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

...