Я только что сделал git init
в корне моего нового проекта.
Затем я создал .gitignore
файл.
Теперь, когда я печатаю git status
, .gitignore файл появится в списке неотслеживаемых файлов. Это почему?
git
version-control
dvcs
gitignore
Жак Рене Месрин
источник
источник
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD
how to gitignore .gitinore file
и вопрос и принятый ответ на самом деле не имеют отношения к названию. Название может быть улучшено.Ответы:
.gitignore
Файл должен быть в вашем хранилище, так что на самом деле должны быть добавлены и совершенные в, как иgit status
предполагает. Он должен быть частью дерева хранилища, чтобы его можно было объединить и так далее.Итак, добавьте его в свой репозиторий, он не должен быть проигнорирован.
Если вы действительно хотите, вы можете добавить
.gitignore
в.gitignore
файл, если вы не хотите, чтобы он был зафиксирован. Однако в этом случае, вероятно, лучше добавить игнорирование в.git/info/exclude
специальный локальный файл checkout, который работает так же, как .gitignore, но не отображается в «git status», поскольку он находится в.git
папке.Смотрите также https://help.github.com/articles/ignoring-files.
источник
Если вы хотите сохранить список игнорируемых файлов вне вашего Git-дерева, вы можете использовать файл .git / info / exclude . Он применяется только к вашей кассе репо.
источник
~/.gitignore
чтобы они игнорировались для любого репозитория, над которым я работаю.git update-index --assume-unchanged <file>
чтобы остановить отслеживание изменений без изменения репо. Это очень полезно в больших общих проектах, где вам нужно вносить локальные изменения, но никто больше не хочет, чтобы ваши вещи были привязаны к репо. Смотрите blog.pagebakers.nlВы можете вставить строку
.gitignore
в ваш.gitignore
файл. Это приведет к тому, что.gitignore
файл будет игнорироваться git. Я на самом деле не думаю, что это хорошая идея. Я думаю, что файл игнорирования должен контролироваться версией и отслеживаться. Я просто выкладываю это для полноты.источник
git rm --cached .gitignore
У вас также может быть глобальный пользовательский git-
.gitignore
файл, который будет автоматически применяться ко всем вашим репозиториям. Это полезно для IDE и файлов редактора (например,swp
и*~
файлов для Vim). Измените расположение каталогов в соответствии с вашей ОС.Добавить в ваш
~/.gitconfig
файл:Создайте
~/.gitignore
файл с шаблонами файлов, которые будут игнорироваться.Сохраните ваши точечные файлы в другом репо, чтобы у вас была резервная копия (необязательно).
Каждый раз, когда вы копируете, инициализируете или клонируете репо, ваш глобальный файл gitignore также будет использоваться.
источник
Если кто-то уже добавил
.gitignore
в ваш репозиторий, но вы хотите внести в него некоторые изменения и игнорировать эти изменения, сделайте следующее:git update-index --assume-unchanged .gitignore
Источник .
источник
.git/info/excludes
существует.--assume-unchanged
тоже. Почему один лучше другого?.git/info/excludes
не работает, если файл уже отслеживается.После добавления
.gitignore
файла и его фиксации он больше не будет отображаться в списке «неотслеживаемых файлов».источник
Просто если кто-то другой испытывает ту же боль, что и мы. Мы хотели исключить файл, который уже был зафиксирован.
Этот пост был намного полезнее: работать с .git / info / исключить слишком поздно
В частности, чтобы игнорировать файл, на самом деле используйте команду git remove. См. Git rm ( http://www.kernel.org/pub/software/scm/git/docs/git-rm.html. ).
Вы проверяете это, идя
git rm --dry-run *.log
(если вы хотите исключить все файлы журнала)
это выведет то, что было бы исключено, если вы запустите его.
тогда
вы запускаете это, идя
git rm *.log
(или любой путь к файлу / выражение, которое вы хотите)
Затем добавьте
*.log
строку в ваш.gitignore
файл.источник
git status
если они появятся в будущем.Конечно, файл .gitignore отображается в статусе, потому что он не отслежен, и git видит его как вкусный новый файл для употребления!
Однако, так как .gitignore - это файл без отслеживания, git игнорирует его, когда вы помещаете его в .gitignore!
Итак, ответ прост: просто добавьте строку:
в ваш файл .gitignore!
И, вопреки ответу Августа, я должен сказать, что файл .gitignore не должен быть в вашем хранилище. Просто так бывает, что он может быть, что часто бывает удобно. И, вероятно, это правда, что именно по этой причине .gitignore был создан как альтернатива .git / info / exclude, у которого нет возможности отслеживания в хранилище. В любом случае, как вы используете файл .gitignore, полностью зависит от вас.
Для справки посетите страницу руководства gitignore (5) на kernel.org.
источник
Идея состоит в том, чтобы поместить в файл файлы, относящиеся к вашему проекту,
.gitignore
и (как уже упоминалось) добавить его в репозиторий. Например ,.pyc
и.o
файлы, журналы , что Тесты создают некоторые светильники и т.д.Для файлов, которые создаются вами, но которые не обязательно будут отображаться для каждого пользователя (например,
.swp
файлы, если вы используете vim, скрытые каталоги ecplise и т. П.), Вы должны использовать.git/info/exclude
(как уже упоминалось).источник
Прежде всего, как уже говорили многие другие, ваш
.gitignore
Git должен быть отслежен (и поэтому не должен игнорироваться). Позвольте мне объяснить, почему.(TL; DR: зафиксировать
.gitignore
файл и использовать глобальный.gitignore
для игнорирования файлов, созданных вашей IDE или операционной системой)Git - это, как вы, наверное, уже знаете, распределенная система контроля версий . Это означает, что он позволяет вам переключаться между различными версиями (даже если разработка разошлась по разным ветвям), а также позволяет нескольким разработчикам работать над одним и тем же проектом.
Хотя отслеживание ваших данных
.gitignore
также имеет свои преимущества при переключении между моментальными снимками, наиболее важной причиной его принятия является то, что вы захотите поделиться файлом с другими разработчиками, работающими над тем же проектом. Зафиксировав файл в Git, другие участники автоматически получат.gitignore
файл, когда клонируют репозиторий, поэтому им не придется беспокоиться о случайной фиксации файла, который не должен быть зафиксирован (например, файлы журналов, каталоги кэша, учетные данные базы данных). , так далее.). И если в какой-то момент проект.gitignore
обновляется, они могут просто внести эти изменения вместо того, чтобы редактировать файл вручную.Конечно, будут некоторые файлы и папки, которые вы хотите игнорировать, но они специфичны для вас и не применимы к другим разработчикам. Однако их не должно быть в проекте
.gitignore
. Есть два других места, где вы можете игнорировать файлы и папки:.gitignore
. Преимущество заключается в том, что это.gitignore
применяется ко всем репозиториям на вашем компьютере, поэтому вам не нужно повторять это для каждого репозитория. И это не передается другим разработчикам, поскольку они могут использовать другую операционную систему и / или IDE..gitignore
ни проекту , ни глобальному.gitignore
, могут быть проигнорированы с помощью явного исключения из репозитория вyour_project_directory/.git/info/exclude
. Этот файл не будет передан другим разработчикам и предназначен для этого отдельного хранилища.источник
.gitignore
.gitignore
работает только для игнорирования файлов, которые еще не отслеживаются Git. Добавление уже отслеженного файла в.gitignore
не помешает вам внести изменения в этот файл. Даже если бы это было возможно, как бы вы зафиксировали изменение,.gitignore
когда оно указывает Git игнорировать себя?Не упустите следующую «проблему». Иногда вы хотите добавить каталоги, но в них нет файлов. Простое решение - создать .gitignore со следующим содержимым:
Это работает нормально, пока вы не поймете, что каталог не был добавлен (как и ожидалось в вашем хранилище. Причина в том, что .gitignore также будет игнорироваться, и, следовательно, каталог пуст. Таким образом, вы должны сделать что-то вроде этого :
источник
Кажется, это работает только для вашего текущего каталога,
Git
чтобы игнорировать все файлы из хранилища.обновить этот файл
с вашим подстановочным знаком или именем файла
источник
Если вы уже зарегистрировались в .gitignore и хотите игнорировать изменения, проверьте этот ответ :
источник
В моем случае я хочу исключить существующий файл. Только модификация .gitignore не работает. Я следовал за этими шагами:
Таким образом, я удалил из кэша файл, который хотел исключить, и после того, как добавил его в .gitignore .
источник
Перейдите в базовый каталог вашего git repo и выполните следующую команду:
Все точечные файлы будут игнорироваться, включая этот надоедливый .DS_Store, если вы на Mac.
источник
Вполне возможно, что конечный пользователь хочет, чтобы Git игнорировал файл ".gitignore" просто потому, что определенные папки IDE, созданные Eclipse, вероятно, не совпадают с NetBeans или другой IDE. Таким образом, чтобы сохранить антагонистичность исходного кода в среде IDE, проще упростить пользовательское игнорирование git, которое не будет доступно всей команде, поскольку отдельные разработчики могут использовать разные IDE.
источник
.gitignore
о игнорировании других файлов. Git о файлах, так что это о игнорировании файлов. Однако, поскольку git работает с файлами, этот файл должен быть в качестве механизма для перечисления других имен файлов.Если бы это назвали,
.the_list_of_ignored_files
это могло бы быть немного более очевидным.Аналогия - это список дел, которые вы НЕ хотите делать. Если вы не перечислите их где-нибудь, это какой-то список дел, о которых вы не узнаете.
источник
Я думаю, что есть ситуации, когда игнорирование .gitignore очень полезно. Например, когда у вас есть несколько команд или большая команда, работающая над одной и той же кодовой базой. В этом случае вам нужно иметь определенные соглашения, одно из которых касается того, что игнорируется в git-репо. Обычно речь идет об игнорировании файлов и каталогов, созданных IDE или ОС, некоторых сгенерированных журналов и т. Д.
Однако есть сила, которая стремится внести нестандартные изменения в
.gitignore
файл..gitignore
Файл может быть дополнительно изменен безответственным человеком, по ошибке, с помощью инструмента , который используется, или в каком - нибудь другом случае.Чтобы противостоять этому, мы можем сделать следующее:
.gitignore
файл « запечатывается ».« Запечатанный »
.gitignore
файл может быть изменен, только локально, без передачи этих изменений другим членам команды. Однако, если изменение широко согласовано во всей группе (ах), то его можно «распечатать», изменить и затем «запечатать» снова. Это не может быть сделано по ошибке, только намеренно.К сожалению, вы не можете быть на 100% защищены от глупости, но таким образом вы сделали все возможное, чтобы избежать глупостей.
Если у вас относительно небольшая команда с очень хорошими профессионалами, это было бы неважно, но даже этим ребятам хотелось бы иметь одну вещь, о которой меньше беспокоиться.
Использование
.git/info/exclude
- это здорово, когда вы ничего не можете сделать с настройками инфраструктуры, просто прикрываете себя **, чтобы не ошибиться.С точки зрения того, что правильно и что неправильно, я голосую за наличие записи .gitignore внутри
.gitignore
файла, предоставляя всем свободу делать локально все, что они хотят, но не вторгаться в других.источник
Я обнаружил, что лучшее место для настройки игнорирования надоедливых
.DS_Store
файлов - это.git/info/exclude
файл.Кажется, IntelliJ делает это автоматически, когда вы настраиваете в нем git-репозиторий.
источник