Я вырезал историю своей ветки master
в ветку old_stuff
, по совету этого Q & A: Как удалить старую историю из репозитория git? .Чтобы избавить вас от кликов, процесс включает прививку последнего коммита master
к корневому коммиту, фактически не давая ему родителя, а затем используя git filter-branch
, чтобы сделать это изменение постоянным.Мой локальный репозиторий теперь такой, каким он должен быть, с короткой веткой master
и ветвью с длинной историей.
Но если я git clone
в репозитории, то коммит, который не должен иметь родителя, имеет то жеродитель, как и раньше.Когда я делаю git push -f origin master
, я получаю ветвь master
с недавно созданным коммитом во главе, но с родителем предыдущего коммита master
.Теперь у меня есть длинная ветвь old_stuff
и длинная ветвь master
плюс один коммит.Если это уместно, пульт находится на Github.
Как мне сообщить удаленному хранилищу и другим копиям пересмотреть родительский объект для нового коммита?
PS: я прочитал предупреждения окак изменение истории в общем хранилище ломает копии других людей.Я знаю имена вовлеченных людей и могу попросить их указать, поэтому мне удобно пересматривать историю ветки в этом текущем случае.