Как удалить файл из репозитория git, но только до определенного момента в истории? - PullRequest
0 голосов
/ 07 июня 2018

Я знаю, как использовать фильтр-ветку, чтобы полностью исключить файл из истории репозитория.Случилось так, что у меня была несколько конфиденциальная информация в файле, который был зафиксирован несколько лет назад, но я удалил его и хочу сохранить файл от этой безопасной фиксации и далее.

Можно ли это сделать?Или мне придется делать какие-то трюки с клонированием?

1 Ответ

0 голосов
/ 07 июня 2018

Я думаю BFG Repo-Cleaner - это именно то, что вы ищете.

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

bfg --replace-text passwords.txt /path/to/repository

В этом файле passwords.txt будет содержаться ряд строк для сопоставления с тем, какое значение они должны быть заменены.Например:

password             # Replaces the string 'password' with '***REMOVED***' (default)
password==>DELETED   # Replaces the string 'password' with 'DELETED'
password==>          # Replaces the string 'password' with an empty string
regex:password.+==>  # Replaces using a regular expression with an empty string

Как и в случае git-filter-branch, это операция истории перезаписи , поэтому применяется обычный отказ от ответственности.

...