Как вы упомянули правильно. После того, как вы подтвердите файл, он начнет отслеживаться .
Чтобы игнорировать папку .vscode
, используйте assume-unchanged
Вы все еще можете игнорировать добавленные файлы с флагом assume-unchanged
--[no-]assume-unchanged
Когда указан этот флаг, объект имена, записанные для путей, не обновляются.
Вместо этого эта опция устанавливает / отменяет бит «предположить неизменным» для путей.
Когда бит assume unchanged
включен, пользователь обещает не изменять файл и позволяет Git предполагать, что файл рабочего дерева соответствует тому, что записано в индексе.
Если вы хотите изменить файл рабочего дерева, вам нужно сбросить бит, чтобы сообщить Git.
Git не удастся (изящно), если ему потребуется изменить этот файл в индексе, например, при объединении в коммите; таким образом, в случае, если предполагаемый неотслеживаемый файл будет изменен в восходящем направлении, вам нужно будет обработать ситуацию вручную.
Объяснение того, как это сделать из командной строки
# Remove the file from the repository if you have committed it already
# and you don't want to keep it
git rm --cached .vscode/
# now update your gitignore file to ignore this folder
echo '.vscode' >> .gitignore
# add the .gitignore file
git add .vscode
# ... git commit and push
С этого момента git будет отслеживать изменения в этой папке, поэтому теперь вы должны "включить" предположение без изменений, чтобы git не обнаружил ваши локальные изменения.