Как добавить файлы в .gitignore и почему содержимое файла .gitignore не меняется после игнорирования файлов с исходным деревом?

Как добавить файлы в .gitignore и почему содержимое файла .gitignore не меняется после игнорирования файлов с исходным деревом?

Я хотел проигнорировать всю папку, потому что при обнаружении файла в папке .vsвозникала ошибка «Заблокировано/Отказано в доступе» , поэтому я создал файл с помощью этой команды bash:sqlite3/db.lock.vs.gitignore

touch .gitignore

а затем добавил эту строку в файл .gitignore:

.vs/*

Но при запуске я все равно получаю ту же ошибку git add --all.

В конце концов я открыл приложение Sourcetree, проигнорировал .vsсодержимое папки, щелкнув правой кнопкой мыши по файлам и выбрав «Игнорировать», а затем мне удалось добавить все файлы, зафиксировать и отправить их (через приложение Sourcetree).

Не доволен этим решением, потому что я хотел сделать все через командную строку. Теперь мне интересно, почему содержимое gitignore не изменилось, если я якобы манипулировал им через Sourcetree? И как мне добавить файлы в .gitignore? То, что я сделал, похоже, не имело никакого эффекта (тот факт, что я добавил строку .vs/*)

решение1

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

Проблема в том, что когда вы добавляете файлы, .gitignoreони будут игнорироваться любыми внесенными вами изменениями, но они все равно останутся в репозитории. Вам нужно удалить все из git и добавить их снова. Таким образом, файлы, которые вы хотите игнорировать, не будут добавлены.

Это можно сделать с помощью следующих команд:

git rm -r --cached .
git add .
git commit -m ".gitignore fix"

Ссылка:http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/

Связанный контент