Здравствуйте. Такая проблема, когда делаю задачу по вашим шагам то все хорошо и все получается и в файл .gitignore
, добавляется папка .idea
как надо. Если же я в самом начале когда еще только создал репозиторий и создал там файл с расширением .rb сразу же его добавил в репозиторий, то там автоматически получается добавляется и папка .idea
. Путем добавления в .gitignore
папка не убирается и у неё уже после всего этого название меняется на .idea/vcs.xml
. И также уже вместо двух файлов получается 3 -
.gitignore
.idea/vcs.xml
Помогите пожалуйста понять что это такое и как это можно исправить. Заранее спасибо
Скорее всего, при добавлении файла *.rb вы написали что-то вроде
git add .
И тем самым добавили в git все файлы из текущей папки (в том числе и созданную RubyMine папку .idea
, в которой был файл vcs.xml
). А потом добавили и файл .gitignore
, в котором предлагаете git-у игнорировать добавленный файл.
Так вот, в git нельзя удалить файл из проекта просто добавив его в .gitignore
(это сделано намеренно, чтобы избежать случайных затираний файлов разработчиков).
Если вы добавили файл в репозиторий (git add
), а потом хотите его из репозитория удалить так, чтобы он при это остался у вас на диске, нужно сперва скопировать его во временное место, а потом уже удалять из репозитория с помощью git rm
.
В вашем случае последовательность будет такой:
cp .idea/vcs.xml vsc_.xml `# скопировали файл во временное место (можно в проводнике)`
git rm .idea/vcs.xml `# сказали git-у, что в репозитории нам этот файл больше не нужен, он его удалит`
git commit -m ".idea/vcs removed" `# сделали коммит с изменениями`
mv vsc_.xml .idea/vcs.xml `# вернули файл на место из временного места`