Что такое ветка git по умолчанию

Это нативная концепция git?

Я изучал это некоторое время и не могу понять? Все, что я получаю, это документация Github, и только этот master является начальной веткой по умолчанию.

Если возможно, может кто-нибудь объяснить, что означает эта концепция с точки зрения git.

Обновлено: Например, какая настройка или идея делает одну конкретную ветку веткой по умолчанию (не обязательно начальной, а на постоянной основе) и как ее изменить за пределами чего-то вроде Github.

Моя интуиция подсказывает мне, что это то место, на которое указывает HEAD (в репозиторий, который вы клонируете и сливаете обратно, как голый репозиторий на сервере) в более общем смысле, это близко?

Тай!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
104
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ветки — это не концепция GitHub, а концепция репозитория исходного кода.

Ветка по умолчанию в Git (основы)

Ветка master (или в настоящее время опционально main) всегда является веткой по умолчанию в репозитории. Вы можете работать с копией ветки, чтобы создавать независимые функции, не нарушая и не затрагивая производственный код. Вы также можете клонировать определенную ветку из репозитория.

Я нашел этот Сообщение блога, безусловно, интересным для начинающих.

Ветвь по умолчанию в Дженкинсе

В Jenkins вы должны установить ветку по умолчанию, см. здесь:

Branch to be checked out in the workspace. Default is ' master '. Note that this must be a local branch name like 'master' or 'develop'. Remote branch names like 'origin/master' and 'origin/develop' are not supported as the branch argument.

Вы можете настроить сборки для одной или нескольких определенных веток, см. этот ТАК пост.

Я не минусовал, но, может быть, это потому, что мастер не означает производство. На самом деле я предпочитаю другое: master — это ваша dev-ветвь, а production безошибочно называется prod/production, как и staging, UAT и т. д. Там, где вы начинаете работать с нуля, не может быть prod/live, это должно быть dev. Затем вы создаете другие ветки по мере продвижения вашего проекта.

Andrew 19.03.2022 04:48

Хорошо, достаточно честно. Пытался включить как можно больше полезной информации, не перегружая/не путая OP/других читателей. В нашей компании мы используем master/main как производственную ветку. У нас нет веток разработки (по крайней мере, в моем проекте), а только ветки функций.

Christian 19.03.2022 04:51

Извините, это поможет объяснить, что это такое, как вы его установили? Как установлена ​​ветка по умолчанию, как она существует, это больше мой вопрос. Я понимаю, что это такое концептуально, но я не понимаю, что это такое в нативных терминах git. Кроме того, я тоже не минусовал тебя. Буквально, что делает что-то веткой по умолчанию в реальных терминах git и как вы ее меняете?

rubixibuc 19.03.2022 04:53

Вы хотите знать что-то вроде этого? stackoverflow.com/questions/51274430/…

Christian 19.03.2022 05:01

@Christian не совсем так, но это полезно. Это просто настраивает начальную ветку по умолчанию. Я пытаюсь понять, что на самом деле делает ветку по умолчанию. Смотрите мои правки вверху. Есть какое-то состояние, говорящее, что это ветка по умолчанию, с точки зрения git и реализации, что это?

rubixibuc 19.03.2022 05:04

Хорошо, вы знаете намного больше, чем я думал изначально. Ваш вопрос кажется довольно конкретным. Филиал — это просто концепция. См. perforce.com/blog/vcs/…. Что касается HEAD: при работе с Git одновременно может быть извлечена только одна ветка — и это то, что называется веткой «HEAD». Часто это также называют «активной» или «текущей» ветвью. Однако голова не обязательно должна быть главной. У вас есть конкретный сценарий/проблема? Можете добавить/поделиться примером?

Christian 19.03.2022 05:19

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

rubixibuc 19.03.2022 05:26

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

Christian 19.03.2022 12:08
Ответ принят как подходящий

Is this a native git concept?

Нет. Это концепция GitHub (и другого хоста). Это связано с запросами на вытягивание, которые также не являются концепцией Git.

Когда вы делаете запрос на включение в GitHub, вы отправляете ветку; какую ветку должен предложить GitHub, по умолчанию, для слияния ветки запроса на вытягивание? Это ветка по умолчанию.

Что касается клонирования, здесь должно быть какое-то совпадение. Когда я клонирую, он инициализирует мое локальное репо веткой по умолчанию. Это потому, что GitHub имеет HEAD, указывающий на эту ветку?

rubixibuc 19.03.2022 05:03

Так что это часть того, о чем я спрашивал stackoverflow.com/questions/18726037/…. Можно ли сказать, что эта ветка по умолчанию является перекрытием концепций Github и собственных концепций git? Если я установлю ветку по умолчанию в Github, она установит HEAD равным этой ветке по умолчанию, верно?

rubixibuc 19.03.2022 05:16

Конечно, в Git есть понятие удаленного HEAD, но оно не особенно интересно или важно; это довольно бессмысленно. Существует также понятие того, какую «начальную ветвь» Git создаст и извлечет в конце клонирования, и да, это понятие исходит из удаленного HEAD, но опять же, это не очень важно, так как вы можете изменить его как часть команда clone или сразу после клонирования; лично я часто предпочитаю, чтобы локальная ветвь нет создавалась и проверялась как часть клона.

matt 19.03.2022 12:59

Когда я клонирую свой репозиторий GitHub, он извлекает ссылку по умолчанию или HEAD ref в GitHub. Моя основная задача состоит в том, чтобы не указывать и заставить Дженкинса делать то же самое. Я решил понять, что делает что-то веткой по умолчанию, чтобы понять это. Это должен быть отдельный вопрос сейчас?

rubixibuc 19.03.2022 14:41

@rubixibuc: Git сам во время git clone читает HEAD другой стороны, чтобы выяснить, в какой ветке создать в клон, если вы не использовали -b. Если вы делал используете -b, это, конечно, имеет приоритет. Так что да, в некотором смысле HEAD репозитория, который вы клонируете, — это предлагаемое по умолчанию имя ветки. Здесь также есть некоторые странные исторические странности для очень старых серверов Git, но вы никогда не должны сталкиваться с этим.

torek 19.03.2022 15:18

Кажется, это был вопрос x-y? В общем, это хорошая идея, чтобы задать вопрос, на который вы хотите знать ответ, а не какой-то другой вопрос.

matt 19.03.2022 15:47

Другие вопросы по теме