Как заставить .gitignore игнорировать файлы? - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть файл .gitignore со следующим содержимым:

.vs/

Я выполняю следующие команды

git add .gitignore
git commit -m 'adding ignore file'

В моей папке .vs есть текстовый файл с именем test.txt.

Когда я набираю git status, я вижу следующий вывод

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .vs/

nothing added to commit but untracked files present (use "git add" to track)

Чего мне здесь не хватает?

Ответы [ 4 ]

0 голосов
/ 21 сентября 2018
  1. Используйте правильные шаблоны..vs должен находиться в том же каталоге, что и .gitignore, если нет, исправьте путь.
  2. Сделайте коммит .gitignore, чтобы другие могли извлечь из него пользу.
  3. Если что-то уже включено(отслеживается) git, и вы позже добавите его в .gitignore, это не заставит git забыть об этом.Для этого:
    1. Используйте git rm --cached <filePath> для файла (ов)
    2. Используйте git rm -r --cached <dirPath> для каталога
0 голосов
/ 21 сентября 2018

Что я думаю из журналов, так это то, что вы добавили папку в .gitignore, но, поскольку она была зафиксирована ранее, вы хотите удалить ее.

Если присутствует в предыдущих коммитах и ​​вы хотите удалить ее,Вы можете использовать: -

git rm --cached .vs/

, чтобы пометить папку как удаленную из индекса, но она не изменится в локальной папке.

Затем используйте:

git commit -m "<Msg showing removing file from git tracking.>"

Iпринял определенное предположение, уточните, если это не то, что вам нужно.

0 голосов
/ 21 сентября 2018

Нашел мое решение здесь (Visual Studio также добавляла китайские символы в мой .gitignore)

Мой .gitignore был сохранен с кодировкой Unicode.

Это потому, чтоЯ создал свой файл .gitignore через PowerShell примерно так:

".vs/" > .gitignore

Я сделал это, потому что проводник не позволяет вам создать текстовый файл с начальным периодом.Мое решение:

".vs/" | Out-File -Encoding ascii -FilePath .gitignore
0 голосов
/ 21 сентября 2018

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

A git status, выполненное после создания / обновления .gitignore, будет работать.

Во-вторых, убедитесь, что ваш .gitignore находится на том же уровне (или выше), что и .vs/ (не внутри него)

В-третьих, проверьте его eol (конец строки, убедитесь, чтоэто стиль Linux)

...