Вариант использования: три клона git одного и того же хранилища A, B, B2.Репо А и В нормальные, В2 голый (сделано с --bare).Все под моим контролем, т.е. есть только один пользователь.
На сайте B я делаю работу (несколько коммитов git), затем git push B2.
- На сайте A, gitтянуть B2.
- На сайте A, git rebase -i xx..HEAD, чтобы раздавить некоторые коммиты и очистить историю (отличная команда).
- Q: Как передать результат на сайт B?
Я могу сделать:
Но это не совсем верно.У рабочего каталога сайта B будет странная история после git pull B2.
Мне нужен какой-то способ не использовать --force.Я хотел бы выбросить xx..HEAD на B2, затем нажать обычным образом от A. Возможно:
На B2 (голый репо)
Не уверен, что этого достаточно.Я могу сделать это путем повторного клонирования с сайта A (удалить B2, git init --bare, push from A), но это кажется излишним. Как пушить / тянуть пост Git rebase кажется уместным, но я надеюсь на какой-то ответ, кроме "не делай этого".
Итог, как мне правильно и полностьювыбросить коммиты на В2, чтобы переназначенная история из А будет приниматься как новые коммиты?