У меня есть существующий проект Visual Studio в моем хранилище. Недавно я добавил файл .gitignore в свой проект, и я предполагаю, что это говорит Git игнорировать файлы, перечисленные в файле.
Моя проблема в том, что все эти файлы уже отслеживаются, и, насколько я знаю, Git не будет игнорировать файл, который уже отслеживался до того, как в этот файл было добавлено правило, чтобы игнорировать его.
Было предложено использовать: git rm --cached
и вручную отследить их, но это займет у меня навсегда, чтобы просмотреть их один за другим.
Я думал об удалении хранилища и повторном его создании, но на этот раз с файлом .gitignore, но должен быть лучший способ сделать это.
git rm --cached
целые каталоги с-r
опцией, если это полезноОтветы:
Этот ответ решил мою проблему:
Прежде всего, передайте все ожидающие изменения.
Затем выполните эту команду:
Это удалит все из индекса, затем просто запустите:
Передайте это:
источник
git push origin
также, чтобы отразить изменения в удаленном хранилище..gitignore is now working
сообщение? :)Создайте файл .gitignore, поэтому для этого просто создайте любой пустой файл .txt.
Затем вы должны изменить его имя, написав следующую строку в cmd (где
git.txt
находится имя файла, который вы только что создали):rename git.txt .gitignore
Затем вы можете открыть файл и записать все неотслеживаемые файлы, которые вы хотите игнорировать навсегда. Например, мой выглядит так:
`` `
Существует целая коллекция полезных файлов .gitignore от GitHub.
Если у вас есть это, вам нужно добавить его в свой репозиторий git, как и любой другой файл, только он должен находиться в корне репозитория.
Затем в вашем терминале вы должны написать следующую строку:
git config --global core.excludesfile ~ / .gitignore_global
Из официального документа:
Если репозиторий уже существует, вы должны выполнить следующие команды:
Если шаг 2 не работает, то вы должны написать маршрут дыры файлов, которые вы хотели бы добавить.
источник
Как указано здесь, вы можете обновить индекс:
При этом файлы не будут отображаться в
git status
илиgit diff
.Чтобы начать отслеживать файлы снова, вы можете запустить:
источник
Если вы добавили
.gitignore
слишком поздно, git продолжит отслеживать уже принятые файлы независимо Чтобы это исправить, вы всегда можете удалить все кэшированные экземпляры нежелательных файлов.Во-первых, чтобы проверить, какие файлы вы отслеживаете, вы можете запустить:
git ls-tree --name-only --full-tree -r HEAD
Допустим, вы нашли нежелательные файлы в каталоге, например,
cache/
так что безопаснее ориентироваться на этот каталог, а не на все ваши файлы.Так что вместо:
git rm -r --cached .
Безопаснее выбрать целевой файл или каталог:
git rm -r --cached cache/
Затем добавьте все изменения,
git add .
и совершить ...
git commit -m ".gitignore is now working"
Ссылка: https://amyethedge.com/code/13.html
источник
Вот один из способов «отследить» любые файлы, которые иначе были бы проигнорированы в текущем наборе шаблонов исключения:
Это оставляет файлы в вашем рабочем каталоге, но удаляет их из индекса.
Уловка, используемая здесь, состоит в том, чтобы предоставить несуществующий индексный файл для git-файлов, чтобы он думал, что нет отслеживаемых файлов. Приведенный выше код оболочки запрашивает все файлы, которые были бы проигнорированы, если бы индекс был пустым, а затем удаляет их из фактического индекса с помощью git rm.
После того, как файлы были «не отслежены», используйте git status, чтобы убедиться, что ничего важного не было удалено (если это так, измените шаблоны исключения и используйте git reset - путь для восстановления удаленной записи индекса). Затем сделайте новый коммит, который пропустит «crud».
«Crud» по-прежнему будет в любых старых коммитах. Вы можете использовать git filter-branch для создания чистых версий старых коммитов, если вам действительно нужна чистая история (например, использование git filter-branch будет «переписывать историю», поэтому не стоит предпринимать это легко, если у вас есть соавторы, которые вытянули любой из ваших исторических коммитов после того, как «груда» была впервые представлена).
источник
Удалить файлы из области подготовки
Добавить все изменения
Передайте это:
источник
Я думаю, что это простой способ добавить файл .gitignore в существующий репозиторий.
Предварительное условие :
Вам нужен браузер для доступа к вашей учетной записи на github.
меры
Радоваться, веселиться!
источник
Используйте
git clean
Получить помощь в этом запуске
Если вы хотите увидеть, что произойдет первым, обязательно пропустите ключ -n для пробного запуска:
Чтобы удалить мусор
Осторожно: Вы можете игнорировать локальные конфигурационные файлы, такие как database.yml, которые также будут удалены. Используйте на свой риск.
затем
источник