Как применять gitignore впоследствии? - PullRequest
5 голосов
/ 13 ноября 2011

Я перенес свой локальный репозиторий на GitHub. В процессе фиксации моего кода я забыл создать файл .gitignore. В результате я зафиксировал и впоследствии поместил некоторые папки и файлы, которые мне не нужны, на GitHub (или в моем локальном хранилище, если на то пошло).

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

Ответы [ 4 ]

6 голосов
/ 13 ноября 2011

Вы можете git rm <unnecessary file and folder names> затем добавить их в ваш файл .gitignore, который удалит их из этого коммита.Проблема в том, что они останутся в истории, если вы не измените предыдущие коммиты.Если в этих файлах нет конфиденциальных данных, я бы сказал, оставьте историю как есть.Если вам необходимо удалить конфиденциальные данные из истории репозитория, см. Справочную статью GitHub по теме

3 голосов
/ 13 ноября 2011

Сначала удалите каталог bin, добавленный в репо случайно.Вы можете обратиться сюда: http://help.github.com/remove-sensitive-data/

Затем добавьте .gitignore и подтвердите, а затем нажмите на github.

2 голосов
/ 13 ноября 2011

Если это ваш личный репозиторий, и вы еще не опубликовали его, используйте filter-branch для редактирования истории:

git filter-branch --index-filter '
  git rm -r --cached --ignore-unmatched bin;
' --all

Затем добавьте / отредактируйте файл .gitignore:

>> .gitignore echo bin
git add .gitignore
git commit -m 'add gitignore files'

Поскольку вы уже опубликовали свою историю, лучше не переписывать ее. Просто удалите каталог bin и добавьте файл .gitignore

git rm -r bin
# add .gitignore
git commit -m 'remove and ignore bin folder'
2 голосов
/ 13 ноября 2011

Из памяти вы должны удалить его и заново добавить. Git ignore вступит в силу.

Ответили уже?

...