Я недавно открыл репо на GitHub. Я новичок в Git. Как и в случае с новичками, я взял на себя обязательство использовать имя по умолчанию и адрес электронной почты, которые я, в лучших традициях нубов, обнаружил на пяти коммитах слишком поздно. Теперь веселье начинается, потому что я начал искать информацию о том, как изменить автора и имя коммиттера этих коммитов. Хорошо. Я в основном нашел следующую информацию и много копий:
http://help.github.com/change-author-info/
Удалить коммиты из ветки в Git
Как удалить выбранные записи журнала коммитов из Git-репозитория при сохранении их изменений?
Изменить имя автора и коммиттера, а также адрес электронной почты для нескольких коммитов в Git
Изменить автора коммита за один конкретный коммит
Изменить первый коммит проекта с помощью Git?
Могу ли я изменить свое имя и фамилию во всех предыдущих коммитах?
Проблема, похоже, не редкость. Могу только сказать, что ни одно из решений не сработало. Половина из них - вариации одного и того же git filter-branch -f --env-filter
скрипта. Я пытался работать над этим сценарием несколько раз. Проблема в том, что после применения скрипта я не могу нажать. «Перемотка вперед отклонена» или что-то в этом роде. Хорошо, единственный способ продолжить это тянуть. После вытягивания вся старая информация снова там + новая ветка с новой информацией. Я уже сижу здесь с четырьмя ветками, объединенными самыми вопиющими способами, и все они содержат одну и ту же информацию с разными именами авторов, включая ту, которую я хотел удалить.
ОК, чтобы сократить его, я также попытался удалить выбранные коммиты, которые порождают конфликты, которые я не могу разрешить (как ???), и раздавить некоторые коммиты в более новые с правильным автором. информация, которая приводит к разрушению текущего состояния проекта. Более того, иногда я получаю ошибку сегментации после выполнения git rebase -i
, о котором мне сообщают здесь: http://lists -archives.org / git / 729800-rebase-i-segmentation-fault-and-another-problem .html полностью логично. Единственное, что (к счастью) работает - это git rebase --abort
, что спасло мою задницу несколько раз.
Я надеюсь, что мое разочарование не отпугнет, а вместо этого развлечет вас и побудит вас помочь мне. Я хотел бы:
Окончательно удалить указанную информацию об авторе
Бонус: избавиться от всех веток, содержащих одинаковую информацию.
Но я бы тоже был рад первому, если препятствие удаления прошлых веток без разрушения текущего состояния слишком велико для новичка в git. Заранее спасибо.