Применить .гитюдного на существующий репозиторий уже отслеживает большое количество файлов

У меня есть существующий проект Visual Studio в моем репозитории. Недавно я добавил .файл гитюдного под мой проект, и я предполагаю, что говорит Git, чтобы игнорировать файлы, указанные в файле.

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

Было предложено использовать: `ГИТ РМ --кэшированные и ООН-отслеживать их вручную, но это'собирается взять меня навсегда, чтобы пройти через них по одному.

Я думал об удалении репозитория и вновь воссоздавая его, но это время .файл гитюдного присутствует, но там должен быть лучший способ сделать это.

Комментарии к вопросу (4)
Решение

Этот ответ решена моя проблема:

Во-первых, совершить все ожидающие изменения.

Затем выполните эту команду:

git rm -r --cached .

Это удаляет все из индекса, то просто запустите:

git add .

Совершил его:

git commit -m ".gitignore is now working"
Комментарии (9)
  1. Создать .файл гитюдного, чтобы сделать это, вы просто создайте любой пустой .файл txt.

  2. Затем вы должны изменить свое название писать следующую строку на cmd (в где git.txt` это имя файла, который вы'вэ только что создали):

переименовать git.txt .гитюдного

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

``

Ненужные файлы операционной системы [ТТ]humbs.дБ *.DS_Store

В Visual файлов

.[ОО]БЖ .пользователь .АПС .ПЧ .vspscc все .vssscc успешно _и.с Р.с .НКО .СУО .тлб .как tlh .бак .[Куб. см]ломить .илк .журнал .Либ .СБР .ФСР .пыць .в XML ipch все/ параметр obj/ [BB]в [ДД]ebug/ [Ор]если новая версия*/ Анх.Холостого хода

Инструменты

_ReSharper/ .для ReSharper [ТТ]есть[Ор]приведет*

Проект #файлы [ББ]uild/

Файлы #диверсия .СВН

Офисная Временные Файлы

~$*

Там'ы целую коллекцию полезной .гитюдного файлы на GitHub

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

  2. Затем в терминале необходимо написать следующую строку:

в Git файл config --глобальные ядра.excludesfile ~/.gitignore_global

Из официального документа:

вы можете также создать глобальную .файл пример, который представляет собой список правил за игнорирование файлов в каждом репозитории на вашем компьютере. Для например, вы можете создать файл в ~/.gitignore_global и добавить некоторые правила его.

открыть терминал. Выполните следующую команду в вашем терминале: ГИТ конфиг --глобальное ядро.excludesfile ~/.gitignore_global

Если respository уже существует, то вы должны выполнить эти команды:

ГИТ РМ -Р --кэшированные . в Git добавить . коммит в git'е -м " по.гитюдного сейчас рабочее"

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

Комментарии (3)

Как указано здесь вы можете обновить индекс:

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

При этом, файлы не будут отображаться в статус мерзавец " или " ГИТ дифф`.

Для начала снова отслеживать файлы, которые вы можете выполнить:

git update-index --no-assume-unchanged /path/to/file
Комментарии (3)

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

Во-первых, чтобы проверить, какие файлы вы на самом деле отслеживания, вы можете запустить:

`ГИТ ЛС-дерево --название-только-деревьев -Р головы

Допустим, что вы нашли ненужные файлы в каталоге как кэш/ так, это'ы безопаснее цель этого каталога, а не все ваши файлы.

Поэтому вместо того, чтобы:

ГИТ РМ -Р --кэшированные.

Это'ы безопаснее цель ненужный файл или каталог:

ГИТ РМ -Р --кэшировать кэш/

Затем продолжайте добавлять все изменения,

в Git добавить .

и совершить...

коммит в git'е -м " по.гитюдного сейчас работает на"

Ссылка: https://amyetheredge.com/code/13.html

Комментарии (1)

Вот один способ “отслеживать” любые файлы, которые в противном случае были бы проигнорированы в рамках текущего набора исключают моделей:

(GIT_INDEX_FILE=some-non-existent-file \
git ls-files --exclude-standard --others --directory --ignored -z) |
xargs -0 git rm --cached -r --ignore-unmatch --

Это оставляет файлы в вашем рабочем каталоге, но не удаляет их из индекса.

Дело здесь используется, чтобы предоставить несуществующий индексный файл в Git ЛС-файлах, так что он думает, что нет отслеживаемых файлов. Оболочки выше код просит для всех файлов, которые будут игнорироваться, если в индексе были пустыми, а затем удаляет их из фактического индекса с Git РМ.

После того, как файлы были “непроходимыми”, использовать статус Git, чтобы убедиться, что ничего важного не убрали (если так регулировать исключает шаблоны и использовать ГИТ сброс -- путь для восстановления удаленной записи показатель). Затем сделать новый коммит, который оставляет в “твар”.

На “твар” будет по-прежнему быть в любой старой совершает. Вы можете использовать фильтр-ветвь Git, чтобы произвести чистые версии старые коммиты, если вам действительно нужна чистая история (Н.б. используя фильтр-ветвь git будет “переписать историю”, так что не следует относиться легкомысленно, если у вас есть коллаборационисты, которые тянут любые ваши исторические совершает после “ерунды” был впервые введен).

Комментарии (1)

Я думаю, что это простой способ для добавления .гитюдного файл к существующему репозиторию.

Обязательное условие:

Вам нужен браузер для доступа к вашей учетной записи на GitHub.

Шаги

  1. Создайте новый файл в вашей необходимости (существующего) проекта и назовите его .gitignore. Вы будете получить наводящий запрос .шаблоны гитюдного, как только вы назовете файл как .гитюдного. Либо использовать эти шаблоны или использовать гитюдного.Ио для генерации содержимого пример файл.
  2. Фиксации изменений.
  3. Теперь клон этого репозитория.

Получайте удовольствие!

Комментарии (0)

Используйте чистый ГИТ Получить помощь на этом работает

git clean -h

Если вы хотите увидеть, что будет, во-первых, убедитесь в том, чтобы передать ключ-N для прогона:

git clean -xn

Снять gitingnored мусора

git clean -xdf

Осторожно: вы можете быть игнорируя локальные конфигурационные файлы как базу данных.в формате YML, который также будет удален. Используйте на свой страх и риск.

Тогда

git add .
git commit -m ".gitignore is now working"
git push
Комментарии (0)