Вам нужно будет использовать git filter-branch
(в вашем репо) и принудительно нажать на github.
Пример из руководства, в котором рассматривается почти та же ситуация, когда вы хотите удалить коммиты от конкретного пользователя:
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "Darl McBribe" ];
then
skip_commit "$@";
else
git commit-tree "$@";
fi' HEAD
Обратите внимание, что это перезапишет вашу историю и может повлиять на других, кто также использует ваше хранилище. Советы Github по соавторам:
Работа с соавторами
У вас могут быть соавторы, которые извлекли вашу испорченную ветку и создали свои собственные ветки.После того, как они получат вашу новую ветку, им нужно будет использовать git rebase в своих собственных ветках, чтобы перебазировать их поверх новой.Коллаб должен также гарантировать, что их ветвь не вводит файл заново, так как это заменит файл .gitignore.Убедитесь, что ваш коллаб использует rebase, а не merge, иначе он просто заново представит файл и всю испорченную историю… и, вероятно, столкнется с некоторыми конфликтами слияния.
http://help.github.com/remove-sensitive-data/