Подтвердить что ты не робот

Как я могу создать файлы с графическим интерфейсом Git?

Я создал файл .gitignore в папке с .git, но я все еще получаю файлы, которые я пытаюсь игнорировать при выполнении повторного сканирования репозитория.

Это содержимое файла.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

Что я делаю неправильно? где находится файл, который должен быть найден?

4b9b3361

Ответ 1

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

Если вы удалите их (git rm или git rm --cached), а затем добавьте их как закрытый файл, они будут проигнорированы.

Ответ 2

Ваш файл выглядит хорошо. Просто убедитесь, что у вас нет каких-либо пробелов в начале каждой строки, мне потребовалось 4 часа, чтобы узнать, почему мой .gitignore работает неправильно; причина была, конечно, проблемой cut'n'paste, где у меня была вертикальная линия пробелов в начале файла.

Вы должны быть осторожны с git commit -a, прежде чем убедиться, что ваш файл .gitignore действительно очищает все, что вам не нужно. Пометить каждый файл (или использовать подстановочные знаки) с помощью git add *.cpp *.h или - как я предпочитаю - развить свой .gitignore по мере продвижения и всегда проверять с помощью git status перед тем, как совершать.

Если вы хотите дважды проверить, что ваш .gitignore действительно работает, попробуйте

git ls-files --others -i --exclude-standard

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

Чтобы очистить файлы, которые вы уже добавили (возможно, используя git add ., ошибку, которую мы все делаем в начале =], вы можете сделать, например @VonC сказал: либо запустите

git rm <filename>

или

git rm --cached <filename>

Еще одна возможность очистки всех файлов, которые вы случайно добавили, - это полностью очистить ваш репозиторий, а затем снова добавить все. Если вы хотите удалить все в промежуточной области, вы можете запустить

git --rm cached .

Но не забудьте не запускать git add . Пока вы не убедитесь, что статус git содержит только список файлов, которые вы действительно хотите в репозитории.

Еще одна очень полезная вещь с git заключается в том, что ей не нужны пути к файлам при использовании подстановочных знаков. Если вы перечислите свои проигнорированные файлы и увидите, что хотите удалить все файлы *.suo и *.log, просто запустите

git rm --cached *.suo *.log

и git позаботится о поиске всех файлов в вашем репозитории, соответствующих этой сигнатуре, независимо от того, где они находятся в дереве.

Ответ 3

Я попробовал несколько способов заставить это работать, и это было наконец довольно просто:

Сначала вы должны перенести .gitignore!

Кроме того, если вы используете инструмент TortoiseGIT - GitEx Commit Tool, есть возможность редактировать проигнорированные файлы.

Ответ 4

Вы находите это правильно. .gitignore должен находиться в той же папке, где находится папка .git. Файл внутри также выглядит корректно. Тем не менее, у меня нет строки комментария наверху.

Ответ 5

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

Ответ 6

Ни один из -m-кэшированных решений не работал у меня. Файл должен быть закодирован как ASCII/ANSI. Я также изменил окончание строки, но это не помогло. Я не могу найти url, у которого были эти инструкции (извините, оригинальный плакат!), Но это сработало для меня:

  • Установите Notepad ++, если у вас его нет. Текстовая панель должна также работают, но я использую Notepad ++.
  • Откройте .gitignore с помощью Notepad ++.
  • Нажмите "Просмотр | Показать символ | Показать всех персонажей. Вероятно, вы увидите CR LF в конце каждой строки.
  • Сделайте поиск и замените (ctrl + h), убедитесь, что установлен флажок Extended (нижний угол руки). Найдите \r\n и замените на \n. Вы увидите, что все изменения CR LF соответствуют только LF.
  • Теперь нажмите "Кодирование | Кодировать в ANSI.
  • Сохраните файл и выйдите.

Из командной строки в Windows или командной строке git, в зависимости от того, что вам нравится, когда вы выполняете git статус, он не должен показывать файлы в .gitignore.