Переписать мастер с сиротской веткой, но сохранить историю - PullRequest
0 голосов
/ 18 января 2019

В моем проекте я начал с нескольких коммитов в ветке master. После нескольких релизов я понял, что подход, который я выбрал, может быть совсем не тем, чего мы хотим.

Новый подход требовал полного переписывания кода, поэтому я решил начать с бесхозной ветви (a-new-beginning-branch). Мне понравилось, и в конце концов, это стало моей фактической мастер-веткой. Теперь я хочу заменить master на a-new-beginning.

Я нашел , как сделать текущую ветку Git главной веткой , но, следуя указанным там шагам, я получаю сообщение об ошибке fatal: refusing to merge unrelated histories. Я знаю, что могу использовать опцию –allow-unrelated-histories, но я не совсем понимаю, что она делает, и не хочу ничего ломать.

Я также нашел как переписать основную ветвь с несвязанной ветвью , но я не хочу удалять историю в своей основной ветке.

В идеале я хотел бы закончить линейной историей, но если это невозможно, я также буду счастлив с каким-то слиянием.

git workflow

Любые идеи будут высоко оценены!

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я не понимаю, почему вы хотите сохранить текущую историю текущей ветви master с вашей a-new-beginning единицей.

Если ваша цель состоит в том, чтобы просто иметь ветку с именем master с историей вашей a-new-beginning ветви, вы можете выполнить это следующим образом:

git branch -m master master-backup
git push origin :master master-backup

git branch -m a-new-beginning master
git push origin :a-new-beginning master

Таким образом, вы будете обновлять ветки локально и удаленно.

0 голосов
/ 18 января 2019

Пытались ли вы перебазировать ваш мастер в вашем новом филиале ?

1- $ git checkout a-new-beginning-branch

2- $ git rebase master

Ваша новая ветвь теперь содержит историю a-new-beginning-branch & master ветка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...