Я включил файл в коммит, на котором был мой пароль, я нажал его, а позже понял, что совершил ошибку.
Я понимаю git-filter-branch (или BFG Repo-Cleaner) помогает очистить историю, однако чем это отличается от...
rebase -i
- перемещение коммита в подсказку, затемreset --hard [previous_commit]
- чтобы применить это к репо, затемpush --force
После визуализации результатов вышеуказанных шагов в SourceTree я не вижу предыдущую фиксацию (и ее содержимое) , но я могу представить, что это может появиться в истории для других, которые уже вытащили репо с ошибочным коммитом, или даже для новых клонов.
Итак, в чем основная разница по сравнению с git-filter-branch? Я сравниваю яблоки с апельсинами?
EDIT: Похоже, вы можете выполнить шаги 1 и 2 выше за один раз, используя rebase -i --autosquash [commit_hash]
.
git reverse --hard
... Вы имели в видуgit reset --hard
? - person twalberg   schedule 26.08.2015pull --force
? это избавит меня от коммита, который я удалил, верно? Разве это не то же самое для git-filter-branch? - person benomatis   schedule 26.08.2015git pull --force
перезапишет любые ссылки на удаленные ветки отслеживания для этого конкретного удаленного устройства, но не для других — ни теги, ни локальные ветки, ни ветки удаленного отслеживания для других удаленных устройств.git filter-branch
просто переименовывает исходные ссылки; старая история никуда не исчезла, она просто спрятана, пока вы сами ее не очистите. - person jthill   schedule 04.09.2015