Git: как сопровождающие git / linux могут поддерживать так много веток - PullRequest
5 голосов
/ 01 апреля 2012

Лично, если я смотрю на git или репозиторий linux с gitk, я полностью поражен огромным количеством слияний / разветвлений.Я понятия не имею, что происходит.

Я предположил, что в целом вы пытаетесь иметь как можно более линейную историю, и только несколько ветвей (например, master, maint, next, pu - thats) в публичном репо.Т.е. я предполагал, что слияния происходят редко и в основном используется rebase.Видимо я не прав.

  1. Интересно, что делают сопровождающие git / linux, чтобы иметь хороший простой обзор
  2. Почему они не используют rebase чаще и имеют гораздо больше веток, чем только master, maint,следующий пу?

Ответы [ 4 ]

3 голосов
/ 01 апреля 2012

Есть одна очень важная вещь для понимания в отношениях с Git и rebase.

Do not rebase commits that you have pushed to a public repository.

В то время, когда вы работаете с локальным слиянием, вы можете использовать rebase столько раз, сколько хотите, потому что он локальный. Если вам нравится линейная история. Другими словами, вы не увидите работу, которую они проделали.

Другая часть, касающаяся количества ветвей, - это просто некий опыт и не только вопрос концепции. Я выполнил ветвление с более чем 300 ветвями параллельно, что является всего лишь видом укрощения зверя с использованием соглашений и хорошей концепции.

2 голосов
/ 01 апреля 2012

Я не разработчик ядра и, конечно, не могу говорить за них. Вот ссылка, где Линус говорил об этом, думаю, отвечает на ваши вопросы.Я добавлю, что наличие большого количества случайных веток сбивает с толку, но наложение небольшого порядка на него делает более легким иметь ветви ИМХО.(Примерами порядка могут быть имена веток темы как topic/short_name, включая значимые сообщения о коммитах, разработчики сохраняют некоторую внешнюю документацию и фактически общаются друг с другом, или все, что подходит для вашей среды.)

Я также будувключите ссылку на этот рабочий процесс, поскольку это практическое требование чтения Git и относится к вашему вопросу.

0 голосов
/ 20 ноября 2012

Посмотрите на Грега КХ Спросите у разработчика ядра столбец: он подробно объясняет свой рабочий процесс.Грег был хранителем стабильной ветки;он является текущим сопровождающим для многих подсистем, включая USB.

0 голосов
/ 20 ноября 2012

Помните, что когда вы клонируете git-репо, вы можете получить все удаленные ветви, но вы только создаете и извлекаете одну локальную ветку (обычно master, отслеживание remotes/origin/master)

(Вот почему у вас есть вопросы, такие как " Отслеживание всех удаленных веток Git как локальных ветвей ")

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

Вы не будете сливаться из официальных общедоступных веток в вашу ветку: это будетбыть обратным слиянием, и их следует избегать, как показано в " Каков правильный рабочий процесс git с ветвями общих функций? ".

...