3

Дано:

  1. Файл с паролями, коий не надо заливать на GitHub.
  2. В .gitignore этот файл прописан и в студии помечен серым цветом.

введите сюда описание изображения

Проблема:

При коммите сей файл отмечен и выделен в списке файлов для коммита:

введите сюда описание изображения

Вопрос:

Что таки произойдёт при коммит->пуш? Файл сохранится на GitHub и будет всем доступен или просто в истории коммитов будет значится как добавленный в проект но существовать физически будет только на моей машине из-за добавления в gitignore?

P.S.
т.к. в файле пароли и явки пробовать сам опасаюсь(

  • 1
    http://stackoverflow.com/questions/1274057/making-git-forget-about-a-file-that-was-tracked-but-is-now-in-gitignore – Yura Ivanov Mar 03 '16 at 11:26
  • @YuraIvanov, а через студию никак?.. А то я с командной строкой не дружу - непонятно как ей сказать, что я хочу git команды в определённой папке выполнить( – ЮрийСПб Mar 03 '16 at 11:37
  • боюсь, что это слишком редкий кейс, чтоб он был в студии. Я по крайней мере такого функционала у себя не нашел... – Yura Ivanov Mar 03 '16 at 11:45
  • @YuraIvanov, получилось всё после удаления файла из студийного проекта, коммита и его последующего добавления. Теперь всё верно игнориуется. Неожиданное поведение( – ЮрийСПб Mar 03 '16 at 11:55
  • @ЮрийСПб про команды в определенной папке- посмотрите мой вопрос про git add, там есть ответ – Nick Volynkin Mar 03 '16 at 18:34
  • @NickVolynkin, а ссылочку?.. – ЮрийСПб Mar 03 '16 at 18:35
  • @NickVolynkin, ОК, спс) Найду - сам добавлю) – ЮрийСПб Mar 03 '16 at 18:36
  • 1
    http://ru.stackoverflow.com/q/431839/181472 – Nick Volynkin Mar 03 '16 at 18:37
  • @NickVolynkin, мы одновременно нашли) – ЮрийСПб Mar 03 '16 at 18:37
  • 1
    Вот на основной вопрос: http://ru.stackoverflow.com/a/432895/181472 – Nick Volynkin Mar 03 '16 at 18:40

1 Answers1

4

Удалось решить проблему удалив файл из проекта, сделав коммит без него и добавив его снова.
После этих манипуляций файл перестал появляться в списке файлов для коммита.

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


Согласно ссылке @Yura Ivanov, для тех, кто умеет в командную строку достаточно выполнить такую команду для игнорирования файлов, добавленных до изменения .gitignore:

git rm --cached <file>
  • Но ведь в ссылке на en SO предложили вариант сделать тоже самое через команду git rm --cached <file>, чтобы не отслеживались файлы, которые были добавлены (add) еще до составления gitignore. – StateItPrimitive Mar 03 '16 at 11:59
  • @StateItPrimitive, к сожалению я не дружу с командной строй. Я честно попытался через стандартную вызвать git команды в папке с моим проектом и через gitshell перейти в неё же. В первом случае команды такой не опознала командная строка, во втором я не смог примеры из гугла применить. Чтобы пользоваться командной строкой надо уметь ей пользоваться( – ЮрийСПб Mar 03 '16 at 12:04
  • @StateItPrimitive, и, кстати, спасибо - на решение вы меня натолкнули своим удалённым комментом) – ЮрийСПб Mar 03 '16 at 12:08
  • Судя по всему, вы быстро прочитали его :) – StateItPrimitive Mar 03 '16 at 12:09
  • @StateItPrimitive, я как бешеный жал на F5 сразу после публикации) Уж очень меня сия проблема раздражала - вчера пришлось идти спать так её и не решив( – ЮрийСПб Mar 03 '16 at 12:11