Когда вы столкнетесь с этой проблемой, git rm
не будет достаточным, так как git помнит, что файл существовал один раз в нашей истории и, следовательно, будет ссылаться на него.
Чтобы все ухудшилось, перезагрузка тоже нелегкая, потому что любые ссылки на blob предотвратят сборщик мусора git от очистки пространства. Это включает в себя удаленные ссылки и ссылки reflog.
Я собрал git forget-blob
, маленький скрипт, который пытается удалить все эти ссылки, а затем использует git filter-branch для перезаписи каждой фиксации в ветке.
Как только ваш blob полностью не найден, git gc
избавится от него
. Использование довольно просто git forget-blob file-to-forget
. Вы можете получить дополнительную информацию здесь
Я собрал это вместе благодаря ответам из Stack Overflow и некоторым блогам. Кредиты к ним!
Stmts
относится к числу операторов в вашем коде.
Miss
относится к числу операторов, которые не были выполнены.
Cover
- тестовое покрытие, или (Stmts - Miss) / 100
.
Missing
содержит номера строк операторов Miss
.
Если охват не равен 100%, это означает, что есть части вашего кода, которые не охватываются вашими тестами, например:
def f(a, b):
if a > 0:
return a
elif a == 0:
return 0
else:
return b
def test_f():
assert f(10, 10)
Приведенный выше тест будет входить только в ветку a > 0
и поэтому будет иметь тестовое покрытие 33%.
Высокое покрытие не всегда хорошо (потому что простое покрытие кода не означает, что все случаи проверены адекватно), но низкое покрытие часто плохо (потому что это означает, что ваши тесты даже не затрагивают части вашего кода). [1115 ]