Я хотел бы, чтобы Git не отображал игнорируемые файлы git status
, потому что в списке измененных, но не обновленных файлов есть масса документации и файлов конфигурации. файлов делает этот список наполовину бесполезным.
Git показывает эти файлы нормально?
Я помещаю информацию об игнорировании в .gitignore
файл в корневом каталоге репозитория Git, и они не добавляются при использовании, git add .
но кажется, что они также не полностью игнорируются, поскольку они отображаются в вышеупомянутом списке и не отображаются в списке напечатано git ls-files --others -i --exclude-standard
. Только файлы, соответствующие шаблонам в~/.gitignore
.
Может быть, потому, что на более раннем этапе я не игнорировал их, и они были совершены хотя бы один раз?
git status -- <file>
для вашего файла «Изменения, не предназначенные для фиксации» или «Не отслеживаемые файлы»? Первый - если у вас уже есть файл в индексе, и мне понадобится дополнительная информация для решения вашей проблемы (лучше создать отдельный вопрос с отображаемыми сообщениями git и просто опубликовать ссылку на него в комментарии). Последний предназначен для файлов, которые не отслеживаются git (пока), но не находятся в.gitignore
файле и могут быть свободно добавлены в индекс.У меня тоже возникла эта проблема, вероятно, потому, что вы добавили игнорируемые каталог / файлы в .gitignore после того, как они были помечены GIT как «подлежащие отслеживанию» в начальном потоке фиксации.
Итак, вам нужно очистить кеш отслеживания git следующим образом:
git rm --cached -r [folder/file name]
Более подробное объяснение можно прочитать здесь: http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html
Вышеупомянутая команда также удалила остатки папки / файлов из вашего удаленного источника GIT. Таким образом, ваши репозитории GIT станут чистыми.
источник
Проблема может заключаться в том, что этот файл все еще находится в кеше git. Для решения этой проблемы необходимо сбросить git cache.
Сбросить кеш git. Это удаляет все из индекса.
Снова добавьте все файлы:
Commit:
источник
Это определенно работает,
git rm --cached -r [folder/file name]
источник
Я предполагаю, что вы не хотите добавлять каталог tmp (платформа Visual Studio)
1- добавьте строки ниже в ваш локальный файл .gitignore
3- резервное копирование и удаление папки tmp локально. (Резервное копирование где-нибудь еще, например, на рабочем столе?)
4- Зафиксируйте изменения на локальном, а не на удаленном (например, github).
После этих шагов ваш каталог tmp больше не будет загружен.
источник
Из man git-lsfiles :
Лично я стараюсь хранить файлы doxygen в моем исходном дереве, поэтому я просто добавил это в свой .gitignore (который находится в самом верхнем каталоге моего исходного дерева):
Надеюсь, это поможет.
источник
Следующие шаги работают только для неотслеживаемых файлов . Эта информация применима для следующей конфигурации:
Поместите список файлов, которые следует игнорировать, в файл "exclude", находящийся в следующем месте.
Исходное содержимое файла "исключить"
Окончательное содержание файла "исключить"
источник
Согласно принятому ответу, вы можете считать, что файл не изменился , поэтому все, что вы делаете на своем локальном компьютере, не передается в удаленную ветку.
Что-то вроде
git update-index --assume-unchanged src/main/resources/config.properties
где src / main.resources / config.properties - это образец пути для поиска этого файла в вашем проекте.Теперь, если вы хотите полностью удалить файл из своего репозитория, вы можете использовать
remove cached
вместо `git rm --cachedЭтот сценарий может быть применим в следующей ситуации:
источник
как это
И будет показывать статус только для моей папки
источник