При удалении большого файла из истории git refs /head / master не изменяется - PullRequest
0 голосов
/ 03 июля 2019

Я случайно поместил несколько файлов размером более 100M в репозиторий GitHub, и я попытался протолкнуть его, но это не удалось.Прочитав некоторые посты онлайн, я понял, что мне нужно удалить этот большой файл из истории git.Я следовал процедуре, как описано здесь https://help.github.com/en/articles/removing-sensitive-data-from-a-repository. Но я получил предупреждение, как показано ниже, и этот метод не сработал.Так в чем же причина того, что /heads / master, / remotes / origin / master не изменились?Большое спасибо!

C:\Users\10453\source\repos\subgenomeAssignment>git filter-branch --force --index-filter "git rm --cached --ignore-unmatch ./gene Density/Nitab.1-12.gff" --prune-empty --tag-name-filter cat -- --all
Rewrite 2c09639875bee25f33e5233badd74552667d0e33 (47/48) (31 seconds passed, remaining 0 predicted)
WARNING: Ref 'refs/heads/master' is unchanged
WARNING: Ref 'refs/remotes/origin/master' is unchanged
WARNING: Ref 'refs/remotes/origin/master' is unchanged

1 Ответ

0 голосов
/ 03 июля 2019

Два файла называются ./gene и Density/Nitab.1-12.gff?

(Помните, фильтр-ветвь передает ваши команды через оболочку и оболочки разбивают аргументы в пробелах.)

Если файл на самом деле называется gene Density/Nitab.1-12.gff, с пробелом внутри, вам нужно будет указать имя файла в кавычках. Это требует другого набора кавычек, чем вы уже используете, так как ваша оболочка командной строки удаляет один набор кавычек. Итак:

git filter-branch --force \
    --index-filter "git rm --cached --ignore-unmatch 'gene Density/Nitab.1-12.gff'" \
    --prune-empty \
    --tag-name-filter cat \
    -- \
    --all
Например,

может помочь. (Я поместил каждый набор аргументов в отдельную строку с обратным слешем-новой строкой, чтобы указать, что оболочка должна продолжать работать, в основном для удобства чтения - вы все равно можете делать это одной строкой; ключом является добавление кавычек Я также удалил ./, так как обычно бессмысленно указывать ./, особенно в фрагменте ветви фильтра, где команды всегда выполняются с верхнего уровня хранилища.)

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