2015-01-30 3 views
0

У меня есть информация oauth, хранящаяся в файле .js на github, но она не удаляется, когда я пытаюсь ее очистить.Чувствительные данные не удаляются

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch config" --prune-empty --tag-name-filter cat -- --all 

Я нахожусь в Windows 7 64-бит, с версией git 1.9.5.msysgit.0.

После того как я сделал все это, что github commit все еще существует на github. Может кто-то, пожалуйста, помогите мне и сообщите мне, что я делаю неправильно?

Проблема решена: файл был назван config.js, а не конфигом. Благодаря

Edit:

Rewrite f8899b62eca2db6bee196e9096e50af54a11dce6 (13/27)rm 'config.js' 
Rewrite 7d552dfff83f73680319339199b453fe2c68c486 (14/27)rm 'config.js' 
Rewrite af45e665de54b5742c5b7a2abc42930bc3a495a7 (15/27)rm 'config.js' 
Rewrite 43ed6fdd603bed538f938b4032327387b5ba678d (16/27)rm 'config.js' 
error: duplicate parent 0e53d2d536c4804eb2dd085a6d0a9d9b004efa66 ignor 
Rewrite e075498a66de25641d29f02f772f2a026aa2168d (17/27)rm 'config.js' 
Rewrite 5312d1b1ae8e0f232daaa05aae630eb016cc417f (18/27)rm 'config.js' 
Rewrite 55279be6bf144ea601525523b6262f5d20baebd2 (24/27)rm 'config.js' 
Rewrite 3c4534f639742cb33ffb6f43ad1ca6d0df783b3f (25/27)rm 'config.js' 
Rewrite ca4a556bdf8efb131786d0b7219098312d5edb0d (27/27) 
Ref 'refs/heads/master' was rewritten 
Ref 'refs/remotes/origin/master' was rewritten 
WARNING: Ref 'refs/remotes/origin/master' is unchanged 
+0

Является ли фиксация утерянной из вашей местной копии? – Chris

+0

Нет, это не так, но вчера это не сработало, даже после того, как я удалил его из своей локальной копии. Человек, почему GitHub так трудно использовать. Когда я удаляю его из своей «локальной копии», и я пытаюсь сделать ветвь фильтра, я получаю «Не могу переписать ветви: у вас есть неустановленные изменения». – ECMAScript

+1

Если файл по-прежнему находится в одном из ваших филиалов локально, нажатие на GitHub не будет выполнено. Перед тем, как вы нажмете, его необходимо удалить локально. Проверьте [BFG] (https://rtyley.github.io/bfg-repo-cleaner/), который является инструментом, который многим нравится для такого рода вещей. GitHub [одобряет его] (https: //help.github.ком/статьи/удалить чувствительные данные,/# с использованием-на-BFG). – Chris

ответ

1

Это жизненно что вы аннулирует скомпрометированы информацию OAuth и создавать новые учетные данные. Я рекомендую сделать это еще до того, как вы беспокоитесь об очистке своей истории.

К сожалению, есть боты, которые ищут такого рода вещи:

Ваша команда filter-branch выглядит good¹. После того, как вы получите вашу историю очищены локально, вам нужно, чтобы заставить толчок к GitHub:

git push origin --force --all 

Нарушитель обязан будет оставаться на GitHub до git-gc запускается на сервере. Вы можете дождаться, когда это произойдет, или вы можете submit a support ticket просить его запустить в вашем репозитории.

¹Подтвердите, чтобы полное имя файла, включая расширение, соответствовало части ... "git rm --cached --ignore-unmatch config" ....

+0

Разве это не то, что я здесь сделал? «git push origin -force - all» Также, как долго git-gc берет? Я сделал это вчера, и сегодня ничего не случилось. – ECMAScript

+0

GitHub запускает 'gc' так часто, как нужно. Насколько мне известно, официального расписания нет. Подождите или отправьте билет. Но это имеет второстепенное значение для аннулирования скомпрометированных учетных данных. – Chris

+0

Что вы подразумеваете под словом «как только моя история очищается локально»? – ECMAScript

0

Удалили ли резервные копии и записи reflog перед выполнением git gc?

Проверить с

git rev-list --objects --all | grep config 

, если файл будет удален.

Я также написал блог об удалении файлов из репозитория git. Здесь вы найдете дополнительную информацию Remove directories and files permanently from git.

Я также опубликовал инструмент gui для github, который помогает удалять файлы. Подробнее об этом инструменте здесь: GitDirStat – a git maintenance gui. Действительный release можно скачать. Это чистый java.

+0

OP уже сказал: «У меня нет Java, и я этого не хочу». – Chris

+0

@ Chris Хорошо, поэтому OP может быть освещен только в первом блоге. Речь идет об удалении файлов только через командную строку, и в ней описываются основы этого. –

Смежные вопросы