Удаление CVS и Git с предубеждением - PullRequest
2 голосов
/ 08 июля 2011

Предположим, что давным-давно кто-то поместил важный фрагмент Личной информации в комментарии к некоторому исходному коду.

Предположим далее, что исходный код находился в еще активном хранилище CVS, и что это хранилище, в свою очередь, было импортировано в хранилище Git (и несколько клонов, естественно) в некоторый момент.

В этом кошмарном сценарии любое из следующих решений доступно в CVS или Git:

  • Полное удаление файлов из репозиториев, чтобы нельзя было извлечь старые версии с PII, или

  • Измените все предыдущие версии, чтобы PII был заменен на X, скажем?

У меня такое чувство, что возможно возможно с CVS и, возможно, совсем нет в Git, но я не уверен.

Спасибо за вашу помощь.

1 Ответ

5 голосов
/ 08 июля 2011

Для git, я думаю, это довольно просто, потому что вы можете редактировать всю историю (в репозиториях у вас тоже есть права на запись, то есть, клоны, конечно, останутся такими, как есть, до тех пор, пока они не будут обновлены и не собраны мусором). ). Смотрите здесь:

http://help.github.com/remove-sensitive-data/

Полагаю, для CVS вы даже можете работать непосредственно с файлами RCS, но я не очень разбираюсь в CVS.

Дополнение: поскольку речь идет не об удалении некоторых файлов, а об изменении некоторых файлов "до того, как они когда-либо были завершены", возможно, уже достаточно сделать git rebase -i и отредактировать те коммиты, которые представили PII. Возможно, вам нужно будет исправить некоторые конфликты в коммитах, которые позже удалили PII, но я думаю, это нормально. Преимущество состоит в том, что вам нужно исправить только те коммиты, которые фактически ввели / изменили PII.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...