У меня есть существующий проект Visual Studio в моем репозитории. Недавно я добавил .файл гитюдного под мой проект, и я предполагаю, что говорит Git, чтобы игнорировать файлы, указанные в файле.
Моя проблема заключается в том, что все эти файлы уже отслеживается и насколько я знаю, Git не будет игнорировать файл, который уже был записан раньше правило было добавлено в этот файл, чтобы его игнорировать.
Было предложено использовать: `ГИТ РМ --кэшированные и ООН-отслеживать их вручную, но это'собирается взять меня навсегда, чтобы пройти через них по одному.
Я думал об удалении репозитория и вновь воссоздавая его, но это время .файл гитюдного присутствует, но там должен быть лучший способ сделать это.
Этот ответ решена моя проблема:
Во-первых, совершить все ожидающие изменения.
Затем выполните эту команду:
git rm -r --cached .
Это удаляет все из индекса, то просто запустите:
git add .
Совершил его:
git commit -m ".gitignore is now working"
Создать .файл гитюдного, чтобы сделать это, вы просто создайте любой пустой .файл txt.
Затем вы должны изменить свое название писать следующую строку на cmd (в где git.txt` это имя файла, который вы'вэ только что создали):
переименовать git.txt .гитюдного
``
Ненужные файлы операционной системы [ТТ]humbs.дБ *.DS_Store
.[ОО]БЖ .пользователь .АПС .ПЧ .vspscc все .vssscc успешно _и.с Р.с .НКО .СУО .тлб .как tlh .бак .[Куб. см]ломить .илк .журнал .Либ .СБР .ФСР .пыць .в XML ipch все/ параметр obj/ [BB]в [ДД]ebug/ [Ор]если новая версия*/ Анх.Холостого хода
_ReSharper/ .для ReSharper [ТТ]есть[Ор]приведет*
Проект #файлы [ББ]uild/
Файлы #диверсия .СВН
~$*
Там'ы целую коллекцию полезной .гитюдного файлы на GitHub
Если у вас есть это, вы должны добавить его в репозиторий Git как и любой другой файл, только он должен быть в корневой папке репозитория.
Затем в терминале необходимо написать следующую строку:
в Git файл config --глобальные ядра.excludesfile ~/.gitignore_global
Из официального документа:
вы можете также создать глобальную .файл пример, который представляет собой список правил за игнорирование файлов в каждом репозитории на вашем компьютере. Для например, вы можете создать файл в ~/.gitignore_global и добавить некоторые правила его.
открыть терминал. Выполните следующую команду в вашем терминале: ГИТ конфиг --глобальное ядро.excludesfile ~/.gitignore_global
Если respository уже существует, то вы должны выполнить эти команды:
ГИТ РМ -Р --кэшированные . в Git добавить . коммит в git'е -м " по.гитюдного сейчас рабочее"
Если Шаг 2 не´t работа затем вы должны написать маршрут отверстие файлов, которые вы хотите добавить.
Как указано здесь вы можете обновить индекс:
git update-index --assume-unchanged /path/to/file
При этом, файлы не будут отображаться в статус мерзавец " или " ГИТ дифф`.
Для начала снова отслеживать файлы, которые вы можете выполнить:
git update-index --no-assume-unchanged /path/to/file
Если вы добавили свой .гитюдного
слишком поздно, то git будет продолжать отслеживать уже совершенные файлы, независимо от того. Чтобы исправить это, вы всегда можете удалить все кэшированные экземпляры ненужные файлы.
Во-первых, чтобы проверить, какие файлы вы на самом деле отслеживания, вы можете запустить:
`ГИТ ЛС-дерево --название-только-деревьев -Р головы
Допустим, что вы нашли ненужные файлы в каталоге как кэш/
так, это'ы безопаснее цель этого каталога, а не все ваши файлы.
Поэтому вместо того, чтобы:
ГИТ РМ -Р --кэшированные
.
Это'ы безопаснее цель ненужный файл или каталог:
ГИТ РМ -Р --кэшировать кэш/
Затем продолжайте добавлять все изменения,
в Git добавить .
и совершить...
коммит в git'е -м " по.гитюдного сейчас работает на"
Вот один способ “отслеживать” любые файлы, которые в противном случае были бы проигнорированы в рамках текущего набора исключают моделей:
(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 будет “переписать историю”, так что не следует относиться легкомысленно, если у вас есть коллаборационисты, которые тянут любые ваши исторические совершает после “ерунды” был впервые введен).
Я думаю, что это простой способ для добавления .гитюдного файл к существующему репозиторию.
Обязательное условие:
Вам нужен браузер для доступа к вашей учетной записи на GitHub.
Шаги
Получайте удовольствие!
Используйте чистый ГИТ
Получить помощь на этом работает
git clean -h
Если вы хотите увидеть, что будет, во-первых, убедитесь в том, чтобы передать ключ-N для прогона:
git clean -xn
Снять gitingnored мусора
git clean -xdf
Осторожно: вы можете быть игнорируя локальные конфигурационные файлы как базу данных.в формате YML, который также будет удален. Используйте на свой страх и риск.
Тогда
git add .
git commit -m ".gitignore is now working"
git push