Я использовал фильтр-ветвь в fix an incorrect email address в моем репозитории, но все ветви теперь MIA (кроме мастера).как удалить старые коммиты после фильтрации-ветви?
Это то, что git graph
показали до filter-branch
:
* d93c7ee (HEAD, master) Merge branch 'f1'
|\
| * 08e7463 (f1) adding b
|/
* 7c7bd91 adding a
Я выпустил этот фильтр Гиса команду:
git filter-branch --env-filter 'export GIT_AUTHOR_EMAIL="fixed-email";
GIT_AUTHOR_NAME="fixed-author"'
И получил это:
* 770262a (HEAD, master) Merge branch 'f1'
|\
| * 0f58ab5 adding b
|/
* fb012a9 adding a
* d93c7ee (refs/original/refs/heads/master) Merge branch 'f1'
|\
| * 08e7463 (f1) adding b
|/
* 7c7bd91 adding a
Несколько вещей, которые беспокоить меня:
1) f1
ветвь не была перемещена в 0f58ab5.
2) Все коммиты перед fb012a9 кажутся мне неактуальными, могу ли я избавиться от них?
я видел другой вопрос кто-то внушая:
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --aggressive --prune=now
Но это не совсем помощь, это то, что я получил впоследствии:
* 770262a (HEAD, master) Merge branch 'f1'
|\
| * 0f58ab5 adding b
|/
* fb012a9 adding a
* 08e7463 (f1) adding b
* 7c7bd91 adding a
EDIT: делать то, что было предложено VonC дали этот график:
* 211632d (HEAD, master) Merge branch 'f1'
|\
| * bda7577 (f1) adding b
|/
* 70c7b34 adding a
* 3182b33 (refs/original/refs/heads/master) Merge branch 'f1'
|\
| * 8b81c21 (refs/original/refs/heads/f1) adding b
|/
* 4c07dc9 adding a
Какая решена проблема №1, теперь мне нужно всего лишь найти способ избавиться от нее Как я могу это сделать, старые коммиты?
спасибо, это решается одна из проблем, увидеть мой выбор. –
Фактически 'rm -r .git/refs/original' сделал трюк на этот раз, странно ... спасибо! –
@ Идан: Благодарим вас за отзыв. Я выполнил свой ответ. – VonC