
Я хотел проигнорировать всю папку, потому что при обнаружении файла в папке .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/