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

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

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

Я хочу знать, как сделать git ignore Hello.class.

Ответ 1

Проблема заключается в том, что .gitignore игнорирует только файлы, которые ранее не отслеживались (через git add). Запустите git reset name_of_file, чтобы остановить файл и сохранить его. Если вы хотите удалить данный файл из репозитория (после нажатия), используйте git rm --cached name_of_file.

Ответ 2

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

В мировом масштабе

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

Локально

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

Как игнорировать измененные файлы (временно)

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

git update-index --assume-unchanged <file>

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

git update-index --no-assume-unchanged <file>

Ответ 3

Добавьте следующую строку в .gitignore:

/Hello.class

Это исключает Hello.class из git. Если вы уже это сделали, выполните следующую команду:

git rm Hello.class

Если вы хотите исключить все файлы классов из git, добавьте следующую строку в .gitignore:

*.class

Ответ 4

1) создайте файл .gitignore, поэтому для этого просто создайте файл .txt и измените расширение следующим образом:

enter image description here

Затем вам нужно изменить имя, набирая следующую строку на cmd:

 rename git.txt .gitignore

Где git.txt - имя файла, который вы только что создали.

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

#OS junk files
[Tt]humbs.db
*.DS_Store

#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad

#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*

#Project files
[Bb]uild/

#Subversion files
.svn

# Office Temp Files
~$*

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

Затем в вашем git bash вам нужно написать следующую строку:

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

Если репозиторий уже существует, вы должны сделать следующее:

1)git rm -r --cached .
2)git add .
3)git commit -m ".gitignore is now working"

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

Надеюсь, что это поможет!

Ответ 5

Чтобы игнорировать:

git update-index --assume-unchanged <path/to/file>

Чтобы отменить игнорирование:

git update-index --no-assume-unchanged <path/to/file>

Ответ 6

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

  • Для игнорирования: git update-index --assume-unchanged <file>
  • Для возврата игнорируемых файлов: git update-index --no-assume-unchanged <file>

Ответ 7

Создайте .gitignore в каталоге, где находится .git. Вы можете перечислить в нем файлы, разделенные символом новой строки. Вы также можете использовать подстановочные знаки:

*.o
.*.swp

Ответ 8

Вы должны написать что-то вроде

*.class

в ваш .gitignore файл.

Ответ 9

С официального сайта GitHub:

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

git rm --cached FILENAME 

или

git rm --cached .

Ответ 10

добавить в .gitignore, какие файлы вы хотите игнорировать

*. Класс

*. Проекты

*. Префы

*. Проект

Ответ 12

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

# 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

Ответ 13

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

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

Ответ 14

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

Ответ 15

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

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

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

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

Ответ 16

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

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

Прежде чем я вытащу, я задержит измененные файлы. И после притяжения я делаю всплывающее окно.

  • git stash
  • git pull
  • git stash pop

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

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

Ответ 17

Если вы уже зафиксировали файл и пытаетесь проигнорировать его, добавив в файл .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.