2012-06-10 5 views
7

У меня есть локальный репозиторий git, над которым я работал довольно много, с рядом коммитов, которые я хотел бы сохранить. К сожалению, хотя код является разумным многоразовым, я включил некоторые конфиденциальные данные (имена баз данных/пользователя/пароли) в очень раннем фиксации. Я хотел бы изменить всю историю, чтобы анонимизировать конфиденциальные данные, сохранив общую структуру истории. Это возможно? Если да, то как?Анонимный локальный репозиторий git?

ответ

6

Я думаю, что это поможет:

+0

Да. Переписывание истории - это ключ. Я сделал резервное репо (на всякий случай), а затем запустил git filter-branch -tree-filter 'sed -i "s/конфиденциальные данные/чистые данные/g *' HEAD', и это удалило все из целого Спасибо за указатель! – naught101

0

Удалите их из хранилища, а затем совершить. Затем вам нужно выполнить сквош всех коммитов, когда файлы были добавлены, когда они были удалены. Вы можете найти хорошее объяснение по поводу этого here, который вкратце предлагает использовать git rebase -i.

+0

Я знаю, что могу совершить сквош, но это удалит историю, о которой я говорил. – naught101

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