Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Git загружает файлы в .gitignore

Автор вопроса: CommunityОтветов: 2

Я использую Git pull для загрузки изменений из удаленного репо в мою локальную папку dev. проблема в том, что каждый раз, когда я извлекаю изменения, git загружает какой-то файл, который существует в файле .gitignore (например, /app/config/config.yml)

Что я делаю не так ?? вот мой .gitignore

# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
/app/config/config.yml

но когда я тяну git pull я нахожу новый config.yml !!

  • Это ваш локальный gitignore или он тоже в удаленном? Tim 10.11.2014
  • Что не так с результатами, которые вы получили, погуглив файлы Git pull в .gitignore? jthill 10.11.2014
  • @jthill Забавно, потому что теперь мой гуглинг Git извлекает файлы в .gitignore и теперь возвращает этот вопрос в качестве первого результата user2782001 23.04.2018

gitgit-pullgitignore

Ответы

Ответ 1 · рейтинг 8 · zerkms

.gitignore игнорирует только неотслеживаемые файлы. Он не имеет никакого влияния на те, которые уже были совершены.

Цель файлов gitignore - гарантировать, что определенные файлы, не отслеживаемые Git, останутся неотслеживаемыми.

Использованная литература:

Ответ 2 · рейтинг 12 · VonC

Проверьте, действительно ли игнорируется ваш локальный config.yml или он в настоящее время версионирован.

git check-ignore -v -- app/config/config.yml

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

git rm --cached -- app/config/config.yml
git commit -m "delete config.yml"
git push

Тогда следующий рывок не вернет этот файл.

Но, как прокомментировал Shichu Zhu, это также означает, что следующий git pull для другого соавтора удалит свой локальный config.yml. Итак, вам нужно сообщить об этом, чтобы они сделали что-то вроде этого ответа.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы