4

Я составил .gitignore файл положил его в корень проекта в файле есть указание на то что нужно игнорировать файлы типа .idea/workspace.xml

# Intellij

*.iml

.idea/workspace.xml

.idea/libraries

Но все равно когда пишу git status получаю

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: .idea/workspace.xml

Что делаю не так?

Sirop4ik
  • 10,954

2 Answers2

3

Файл .gitignore влияет только на те файлы, которые для репозитория новые. Ваш файл .idea/workspace.xml уже лежит в репозитории - а потому продолжает отслеживаться.

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

Pavel Mayorov
  • 58,537
  • Я сегодня первый день пользуюсь гитом, так что за раннее сорри)) Но если я правильно понял, то я должен сделать так git rm --cached .idea/workspace.xml, потом я делаю git commit -m и потом git push ? Так? – Sirop4ik Jul 06 '16 at 14:41
3

Строка

modified:   .idea/workspace.xml

говорит что офайл уже в индексе, это значит что его для начала нужно перестать отслеживать

git rm --cached .idea/workspace.xml

GIT rm

после этого если файл правильно добавлен в gitignore то при команде

git status 

файла не доолжно быть

Добавление gitignore

git add .gitignore 
git commit -m"gitignore was updated"
gut push origin master
  • А если я уже сделал git add . и залил все, то теперь нужно сделать так git rm --cached .idea/workspace.xml, потом я делаю git commit -m и потом git push ? Так? – Sirop4ik Jul 06 '16 at 14:44
  • послу удаления из индекса и добавления в гитигнор сам файл гитигнора будет modify и его(файл гитигнора ) нужно будет комитеть – Maksym Semenykhin Jul 06 '16 at 14:46
  • поправит код с добавлением gitignore, смотри – Maksym Semenykhin Jul 06 '16 at 14:50