Подтвердить что ты не робот

Github: Как бы вы удалили все фиксации определенным именем пользователя?

Когда я впервые начал работать с этим репо, я раньше не использовал git и не били настройку, не обращая внимания на мой адрес электронной почты или что-то еще, поэтому все время совершает какое-то действие пользователем "неизвестно". Я нашел здесь ответ, чтобы преобразовать все "неизвестные" коммиты в мое имя, но то, что оно на самом деле делало, было дублирование фиксации и применение моего имени. Так что теперь у меня все эти "неизвестные" пользователи совершают разбросанные.

Поэтому мне было интересно, какие команды нужно выполнять, чтобы удалить все коммиты с помощью "неизвестного" пользователя.

4b9b3361

Ответ 1

Вам нужно будет использовать git filter-branch (в вашем репо) и принудительно нажать на github.

Пример из руководства, который касается почти той же ситуации, когда вы хотите удалить фиксации от конкретного пользователя:

git filter-branch --commit-filter '
    if [ "$GIT_AUTHOR_NAME" = "Darl McBribe" ];
    then
            skip_commit "[email protected]";
    else
            git commit-tree "[email protected]";
    fi' HEAD

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

Работа с сотрудниками

У вас могут быть соавторы, которые вытащили вашу испорченную ветку и создали их собственные ветки. После того, как они принесут вам новую ветку, они необходимо будет использовать git rebase на своих ветвях, чтобы переустановить их на верхней части новой. Коллаб должен также обеспечить, чтобы их ветвь не повторно вводит файл, так как это переопределит .gitignoreфайл. Убедитесь, что ваш коллаб использует rebase и не сливается, иначе он просто вернет файл и всю испорченную историю... и вероятно, столкнутся с некоторыми конфликтами слияния.

http://help.github.com/remove-sensitive-data/