Git игнорирует файл .gitignore и говорит, что файл .DS_Store изменен - PullRequest
0 голосов
/ 02 апреля 2019

Я не хочу, чтобы .DS_Store-файлы моего MacBook фиксировались в моем Git-хранилище.

К сожалению, мой .gitignore и даже .gitignore_global, похоже, полностью игнорируются.

Любые идеив чем может быть причина?

 ujjain:~/Dropbox/workspace| (HEAD) [+1] | feature/Jenkinsfile [+1]
$ cat .gitignore
...

# Mac OS Test
.DS_Store
 ujjain:~/Dropbox/workspace| (HEAD) [+1] | feature/Jenkinsfile [+1]
$ git status
On branch feature/Jenkinsfile
Your branch is up to date with 'origin/feature/Jenkinsfile'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

  modified:   .DS_Store

no changes added to commit (use "git add" and/or "git commit -a")

Ответы [ 2 ]

3 голосов
/ 02 апреля 2019

Ваш .DS_Store был зафиксирован до того, как был добавлен в .gitignore. Вы удаляете его из репо с помощью:

git rm --cached .DS_Store
git commit -m '.DS_Store untracked'

Параметр --cached удаляет файл только из индекса, но не удаляет сам файл.

Как только это будет сделано, Git больше не будет отслеживать файл и будет должным образом игнорироваться.

3 голосов
/ 02 апреля 2019

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

git rm --cached .DS_Store
...