.gitignore игнорируется несмотря на `rm --cached`? - PullRequest
1 голос
/ 24 января 2020

работает как задумано

Аналогично: 35735862 / gitignore-трудность-с-папкой-исключение-игнорируется

Цель:

Я бы хотел, чтобы git add . не приводил к отслеживанию моего файла.

Информация о сборке: ## `

git версия 2.24.1. windows .2` с использованием Windows PowerShell on Windows 10.

Первая попытка: mysf.txt

Мой файл mysf.txt (my_secret_file).

./gitignore содержит: mysf.txt, но я также пробовал абсолютные пути и .\mysf.txt безрезультатно.

git add . > git status сообщает, что отслеживается mysf.txt.

git rm --cached mysf.txt > git commit > git status сообщает, что файл "нет отслеживания".

Вторая попытка: secret_file.txt

Итак, я удалил mysf.txt и создал новый файл с именем secret_file.txt.

Теперь у меня есть Гарантируется, что текст secret_file.txt добавляется к .gitignore до , выполняя следующие действия:

git add .
git echo "this file is to be ignored." > secret_file.txt
git commit
git status

secret_file.txt не отслеживается. Теперь я набираю git add . и секретный_файл.txt отслеживается!

1 Ответ

1 голос
/ 24 января 2020

Решение:

Измените кодировку .gitignore на utf-8.

Это может быть выполнено несколькими способами. Notepad ++ имеет выпадающее меню под названием «кодировка»; Блокнот имеет опции кодирования в диалоге сохранения. Команда linux touch подсистемы может использоваться вместо команды echo пакета для создания файлов с помощью командной строки.

Преобразование файла в utf-8: Get-Content .\test.txt | Set-Content -Encoding utf8 test-utf8.txt благодаря публикации DavidPostill .

Команда PowerShell:

Set-Content <filename> -Encoding <Encoding>

Например: Set-Content my_file.txt -Encoding utf8 (* 1).

* 1. Обратите внимание: с учетом регистра !

...