Подтвердить что ты не робот

Как репозиторий Git работает с ветвью разработки и мастера?

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

Я прочитал этот блог в успешной ветвящейся модели для Git. Мне очень хотелось установить что-то похожее на это.

В нем говорится, что в репозитории есть две основные ветки, называемые master и develop. Поэтому я пошел вперед и создал репозиторий. Однако, к моему удивлению, сам репозиторий был дефолтной ветвью master. Как я должен был создать ветвь develop? Создать его в родительском ветки master? Это означало бы, что ветвь develop находится вне репозитория.

Я что-то совершенно не так понял? Я просто игнорирую тот факт, что я создаю две ветки внутри главной ветки?

4b9b3361

Ответ 1

Ветвь не является каталогом. Это метка фиксации, которая перемещается вместе с фиксацией, например, тег - это метка фиксации, которая остается с определенной фиксацией. У вас не будет ничего "внутри" ветки master, а master и develop оба изначально будут отмечать одну и ту же фиксацию.

Создайте ветвь разработки так:

git branch develop

Чтобы уточнить: допустим, у вас есть начальная команда A. Он будет помечен как ветвь master.

git init

A [master]

Если вы создадите новый фиксатор B, метка ветки переместится:

git commit -a

A -> B [master]

Если вы затем перейдете в develop, B также получит новую метку:

git branch develop

A -> B [master, develop]

Если вы зафиксируете на develop, он будет перемещаться, но master не будет:

git checkout develop
git commit -a

A -> B [master] -> C [develop]

Если вы теперь зафиксируете на master, дерево будет fork:

git checkout master
git commit -a

A -> B -> C [develop]
     +--> D [master]

Между тем у вас есть только в вашем каталоге все содержимое вашего текущего коммита. Разверните ветки и измените содержимое каталога.

Ответ 2

Филиал master создается по умолчанию; вы можете думать об этом как о "туловище" в других системах VCS. Разветвление develop, используемое в ветки ветвящейся модели nvie, от master, предположительно от первого фиксации.

Ветвь develop является нормальной ветвью от master.

git branch develop создает ветвь develop.

В nvie-ветвящейся модели все работы по разработке выполняются на ветке develop и только сливаются с мастером и помечены там, когда код готов к выпуску. Типичный рабочий процесс, который используют многие люди, - это просто сделать все разработки master и тегом, когда код готов к выпуску.