Переместить ветку master в другую ветку и запустить новый master - PullRequest
0 голосов
/ 26 декабря 2018

Я использую основную ветку для разработки и хочу очистить ее, чтобы в ней были только коммиты релиза, как она предназначена для использования.Как я могу скопировать все с мастера в ветку разработки и перезапустить мастер?

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Создайте ветку разработки из главной ветви, удалите основную ветку и заново создайте ее, если вы не хотите, чтобы какая-либо история коммитов в мастере

Шаг 1: Создайте ветку разработки

git checkout development

git push origin development

Шаг 2: Удалить основную ветвь (В случае, если основная ветвь защищена, возможно, у вас нет прав на ее удаление, поэтому в настройках удалить защищенную из основной ветки)

git push origin :master

Шаг 3: Восстановить основную ветку иотметить его как защищенное

git checkout --orphan master

git commit

git push origin master
0 голосов
/ 27 декабря 2018

Насколько я понимаю, вы хотите сделать две вещи:

  1. У вас есть текущая точка ветвления master на dev
  2. Есть пустая ветвь master.

Решение:

Переименуйте master в dev

Хороший способ, как упоминали другие друзья.создайте новую ветку из последней master, удалите master и заново создайте новую master.

git stash //save your current changes. git pull // pull latest changes. git checkout master //switch branche to master git checkout -b dev // create new branch from master git branch --set-upstream dev origin/dev //add tracking to new branch git push //push new dev branch to server

  1. Иметь пустую ветку master.

Я думаю, что другие друзья поняли это по-другому, пожалуйста, дайте мне знать, что было полезно.

Как я понимаю, вы хотите, чтобы ваша ветка master указывала на ваш первоначальный коммит (первый коммит наваш репозиторий), чтобы вы могли только выпустить слияния на вашем master

. Для этого вам нужно выполнить три шага:

Find first commit.
Delete old `master` branch. (it easier this way)
Have new `master` from first commit. 

Вот как, я бы это сделал.

Найти первый коммит.

git log --reverse --oneline // top commit will be your first one. Copy it's hash (i.e.#1234)

Удалить старую master ветку

Не забудьте переключить текущую ветвь на dev.Вы не можете удалить ветку, в которой находитесь.

git branch -d master // delete local master branch git push origin :master //delete remote master, this will be safe as we have a copy

Создать новую ветку master из первого коммита. git checkout -b #1234 // remember #1234 is your first commit id. git branch --set-upstream master origin/master //add tracking to new branch

Пожалуйста, прости меня за плохое форматирование.

Счастливое кодирование

0 голосов
/ 26 декабря 2018

В основной ветке извлеките новую ветку, в которой будут изменения вашего разработчика, если они зафиксированы.Зафиксируйте их, если не совершите.Затем извлеките основную ветвь и вернитесь к исходной точке.

git checkout -b <branch-name>
git commit -m #if needed
git checkout master
git reset origin/master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...