Объединение нескольких веток git в master? - PullRequest
1 голос
/ 27 ноября 2009

Итак, у меня есть 3 ветки git:

  • Мастер
  • обновить
  • auth_upgrade

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

Итак ... В конечном итоге я хочу сделать auth_upgrade главной веткой, а затем git push в моем репозитории github.

Какой лучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 27 ноября 2009

Вы можете вытащить auth_upgrade в master.

$ git co master
$ git pull . auth_upgrade
  • , затем выполните основную работу на master и используйте эту ветку для синхронизации с вашим пультом ..
  • примените ту же процедуру к refresh, если есть какие-то уникальные изменения, которые вы хотите включить.

см

$ man git-pull

    git-pull - Fetch from and merge with another repository or a local branch
0 голосов
/ 27 ноября 2009

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

Если вы просто хотите превратить вашу текущую ветку в главную ветку в вашем удаленном репозитории, вы можете просто сделать:

git push origin HEAD:master

Редактировать: из одного из ваших комментариев звучит так, как будто у вас нет всех изменений от удаленного мастера в вашей текущей ветке, поэтому вам может потребоваться объединить их перед успешным нажатием:

git fetch
git merge origin/master

Затем вы можете удалить свои местные филиалы. Удалить с небольшим -d безопасно в том смысле, что оно удаляет только те ветви, которые являются предками вашей текущей ветви.

git branch -d master
git branch -d refresh.

Если вас беспокоит, что ваша локальная ветвь не называется master, вы можете теперь сделать:

git checkout -b master
git branch -d auth_upgrade
0 голосов
/ 27 ноября 2009

Вы можете переименовать ветки с помощью опции git branch -m:

git branch -m master old_master
git branch -m auth_upgrade master
...