Git: объединить мастер с новой веткой и очистить мастер - PullRequest
3 голосов
/ 04 июля 2011

Мне было интересно, может ли кто-нибудь объяснить мне, как GIT объединить мастер в новую ветвь, а затем очистить мастер, чтобы у него был чистый чистый рабочий каталог.

Другими словами: master -> PHP, так как master теперь будет иметь Python.

Ответы [ 2 ]

3 голосов
/ 04 июля 2011

Одним из решений было бы, если никто еще не клонировал ваш репо, чтобы:

  • сделать ветку PHP, где master в настоящее время
  • , сбросить мастер на Pythontip

См .:

git checkout master
git branch PHP
git checkout Python
git checkout -B master Python

Из справочной страницы checkout :

git checkout -b|-B <new_branch> [<start point>]

Эта форма переключаетсяветвления путем обновления индекса, рабочего дерева и HEAD для отражения указанной ветки или фиксации.

Если задано -B, создается <new_branch>, если его не существует;в противном случае он сбрасывается.

Это транзакционный эквивалент

$ git branch -f <branch> [<start point>]
$ git checkout <branch>

Но если другие клонировали ваш репо, вам необходимо сбросить содержимое мастера, сохранив все предыдущие коммиты.

Это было бы неплохо для несуществующего merge -s theirs (когда вы отбрасываете свой текущий контент и заменяете его другим из ветки, например Python в случае с туром):

Подробнее см. " git для создания одной ветви как другой ".
(и начните сначала с создания ветки PHP, где master в данный момент находится, как указано выше: этот бит не 't изменится и будет отмечать, где PHP обновления должны идти с этого момента)

1 голос
/ 14 августа 2011

«мастер» - это просто имя.Это значение по умолчанию, но в этом нет ничего волшебного.

Вы можете переименовать вашу текущую "основную" ветку в "PHP" с помощью git branch -m master PHP

Затем извлеките любой исторический коммит, который вы вызываетеclean "(используйте git log, чтобы понять это), а затем git branch master, чтобы создать основную ветвь в этой точке.

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