как удалить файлы, которые превышают предел емкости - PullRequest
1 голос
/ 13 января 2020

У меня есть следующие reflogs:

7f85cf4 (HEAD) HEAD@{0}: rebase -i (start): checkout 7f85cf4
84971f1 (origin/master) HEAD@{1}: checkout: moving from 8d8b5af4e7284b6295544fb466062c50518edac6 to 84971f15edf8694e18ec3d7122cdf3a620db80ba
8d8b5af HEAD@{2}: checkout: moving from ea2dff6cddfa5099cf024e333013ee6864263cbb to 8d8b5af4e7284b6295544fb466062c50518edac6
ea2dff6 HEAD@{3}: commit: delete gaussian stats
8d8b5af HEAD@{4}: commit (amend): modify parser and transaction_bytes stat in ramulator
ab7a22f HEAD@{5}: reset: moving to ab7a22f
7bc22ad HEAD@{6}: commit: modify transaction byte and parser
ab7a22f HEAD@{7}: reset: moving to ab7a22f
7f85cf4 (HEAD) HEAD@{8}: commit: delete gaussian
08d0afa HEAD@{9}: commit: delete ramulator stats
ab7a22f HEAD@{10}: reset: moving to ab7a22f
84971f1 (origin/master) HEAD@{11}: checkout: moving from master to 84971f15edf8694e18ec3d7122cdf3a620db80ba
f719a7b (master) HEAD@{12}: commit: ignore ramulator stat
ab7a22f HEAD@{13}: commit: modify parser and transaction_bytes stat in ramulator
84971f1 (origin/master) HEAD@{14}: commit: set HBM envrionment (want to go here)
b1d9828 HEAD@{15}: commit: add PCM source code
09be036 HEAD@{16}: commit: modify gddr5 spec

Я хочу сделать go до 84971f1 и удалить все истории после него (из ab7a22f).

This это потому, что был зафиксирован коммит, включающий файлы, которые превышают предел емкости.

Я пытался использовать команды git rm --cached и amend.

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

Как решить эту проблему?

1 Ответ

1 голос
/ 13 января 2020

В дополнение к " Как удалить / удалить большой файл из истории коммитов в Git хранилище? ", рекомендуется использовать новый инструмент git filter-repo который заменяет BFG и git filter-branch.

git filter-repo --strip-blobs-bigger-than 1M --refs 84971f1..master

Убедитесь, что эти большие файлы не были нужны в вашей истории репо.

--refs - это то, что позволяет вам do to Частичная перезапись истории .

Примечание: если вы получаете следующее сообщение об ошибке при выполнении вышеупомянутых команд:

Error: need a version of `git` whose `diff-tree` command has the `--combined-all-paths` option`

это означает, что вы должны обновление git.

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