Я пытался очень трудно удалить файл с конфиденциальными данными из моего репозитория мерзавца, используя эту замечательную страницу (среди прочих): http://help.github.com/removing-sensitive-data/Как удалить файл из git с помощью ветви фильтра, чтобы я не мог по-прежнему git grep содержимое?
линия первичности:
git filter-branch --index-filter 'git rm --cached \
--ignore-unmatch FileWithSecrets.java' HEAD
Однако, даже если Я следую инструкциям, включая обрезку и сборку мусора объектов. Тот факт, что я переписал историю, кажется, не полностью удаляет файл.
Суть в том, я до сих пор можно найти содержимое файла с помощью Git Grep: мерзавец Grep $ (мерзавец преподобным список --all)
.... и это все еще показывает вверх.
Я пропустил что-то очевидное или неочевидное? Почему я могу по-прежнему «git grep» содержимое?
Я вижу, что файл больше не находится в наборе изменений, когда я делаю «git show» коммита, где он был добавлен. Но даже в этом случае я все еще могу это сделать - как будто он был удален из истории ветвей, но все еще плавает там?
Git это весело, здорово и удивительно, но на самом деле может поколебать свою уверенность в себе :)
спасибо !! Brendan
Yup, предоставляя HEAD в качестве аргумента, как OP, означает, что только HEAD переписана - даже не указана ветка HEAD! – Cascabel
Большое спасибо за ответы - указав ошибку HEAD и аргумент - all. Я попробовал новую команду + cleanup и все еще не удалял файл из результатов git grep. Мне интересно, может ли проблема иметь какое-то отношение к тому факту, что я пометил несколько коммитов с помощью «git tag», и они рассматриваются как отдельные ветви. Я попытался проверить каждый из них отдельно и запустить вышеупомянутую ветвь фильтра, но я все еще могу grep «секретную строку». Я попытался посмотреть, могу ли я воспроизвести с помощью простого репо, но команды работают. – Brendan
@Brendan http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html#_checklist_for_shrinking_a_repository подразумевает, что вы должны добавить '-tag-name-filter cat' в фильтр -страницы. –