Удалить удаленные файлы из истории git

Оператор || означает OR.

Если любой сиг или график являются истинными или не являются нулевыми переменными, функция обратного вызова получит истинный аргумент.

30
задан Community 23 May 2017 в 12:09
поделиться

2 ответа

Вот несколько инструкций, чтобы делать то, что вы хотите.

Это удалит file_to_remove:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_to_remove' --prune-empty -- --all
7
ответ дан Neil Forrester 23 May 2017 в 12:09
поделиться

Хорошо, теперь я пытаюсь использовать следующую технику, сообщу, работала ли она, потому что она, кажется, довольно долго работает: на zsh или bash. все удаленные файлы

for del in `cat deleted.txt`
do
    git filter-branch --index-filter "git rm --cached --ignore-unmatch $del" --prune-empty -- --all
    # The following seems to be necessary every time
    # because otherwise git won't overwrite refs/original
    git reset --hard
    git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
    git reflog expire --expire=now --all
    git gc --aggressive --prune=now
done;

Это может быть очень опасно для ваших данных, поэтому примерите только клоны.

3
ответ дан Dawson Toth 23 May 2017 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: