Git: создать новую ветку

В Git и большинстве других инструментов VCS [https://en.wikipedia.org/wiki/Version_control] ветвление является одной из основных конструкций, которые действительно делают его полезным для разработки программного обеспечения. Эти ветки почти как новая копия вашего кода в текущем состоянии, которую затем можно использовать для разработки нового кода. Например, всякий раз, когда вам нужно создать новую функцию, исправить ошибку или переписать какой-либо код, рекомендуется создать новую ветку, чтобы ни одно из ваших изменений не повлияло на «основную» версию приложения.

В Git и большинстве других инструментов VCS ветвление является одной из основных конструкций, которые действительно делают его полезным для разработки программного обеспечения. Эти ветки почти как новая копия вашего кода в текущем состоянии, которую затем можно использовать для разработки нового кода.

Например, всякий раз, когда вам нужно создать новую функцию, исправить ошибку или переписать какой-либо код, рекомендуется создать новую ветку, чтобы ни одно из ваших изменений не повлияло на «основную» версию кода. Это важно, поскольку вернуть изменения кода из памяти может быть очень сложно, особенно в сложных системах.

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

Наиболее распространенный способ создания новой ветки следующий:

 $ git checkout -b <branch-name> 

Это чаще всего используется, потому что он создаст для вас ветвь из вашей текущей ветки и переключит вас на эту ветку с помощью одной команды.

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

 $ git checkout -b new-branch dev-branch 
 Switched to branch 'new-branch' 

Другой распространенным способом является использованием branch команд непосредственно (что checkout делает за кадром):

 $ git branch <branch-name> 

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

 $ git branch 
 * master 
 $ git branch new-branch 
 $ git branch 
 * master 
 new-branch 

Если вы хотите работать с веткой немедленно, вам нужно переключиться на нее вручную, используя команду checkout :

 $ git checkout new-branch 
 Switched to branch 'new-branch' 

Создание ответвления из коммита

Как упоминалось выше, есть несколько других способов создания новых веток. Один из таких способов - указать конкретный коммит через его хэш:

 $ git branch <branch-name> <hash> 

Как всегда с Git, на самом деле не нужно указывать весь хеш, всего несколько символов.

 $ git branch 
 * master 
 $ git branch commit-branch 735c5b4 
 $ git branch 
 commit-branch 
 * master 

Вы также можете использовать git checkout -b <branch-name> <hash> , который создаст ветку и проверит ее, все в одной команде.

Создание ответвления из тега

Подобно созданию ветки из коммита, вы также можете создать ветку из тега. Это особенно полезно, поскольку, на мой взгляд, теги - лучший способ ссылаться на определенный момент в истории проекта.

Поэтому, если вы создавали теги на протяжении всей истории вашего проекта, вы можете создать новую ветку, как и раньше, но с тегом в качестве идентификатора.

 $ git branch tag-branch v0.4.12 
 $ git branch 
 tag-branch 
 * master 

И снова можно использовать синтаксис git checkout -b <branch-name> <tag>

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus