Управление ветками

Теперь, когда вы уже попробовали создавать, объединять и удалять ветки, пора познакомиться с некоторыми приемами управления ветками, которые вам пригодятся, когда вы начнете использовать ветки постоянно.

Чтобы посмотреть список всех имеющихся у вас локальных веток, можно использовать несколько способов.

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

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

Возможная проблема: Чтобы видеть в панели История все ветки, а не только ветку, на которую указывает HEAD, включите в настройках панели фильтр refs/heads/**.

В-третьих, вы можете увидеть полный список ваших веток в перспективе Git в панели Репозитории Git. Для этого раскройте структуру вашего репозитория.

Белый флажок на черном фоне указывает на ту ветку, на которой вы находитесь в настоящий момент. В панели История такая ветка выделяется жирным шрифтом, и рядом с ней всегда находится указатель HEAD.

Чтобы посмотреть последний коммит на каждой из веток вы можете воспользоваться панелью История. А если вам нужна ветка, которая не находится в «зоне видимости» в панели История, то вы можете перейти в перспективу Git, и рядом с каждой веткой вы увидите идентификатор и сообщение последнего коммита.

Если в панели История включена связь с редактором, (Связать с редактором и выбранным фрагментом), то выделив ветку в панели Репозитории Git, вы сразу же увидите ее в панели История.

Еще одна полезная возможность для выяснения состояния веток состоит в том, чтобы в панели История оставить в списке только те ветки, которые вы слили в ветку, на которой сейчас находитесь. Если в настройках установлен фильтр refs/heads/**, то вы будете видеть все ветки.

Если оставить только фильтр HEAD, то в списке остаются только те ветки, которые вы уже слили с текущей.

Те ветки из этого списка, которые не выделены жирным, можно смело удалять. Наработки из этих веток уже включены в текущую ветку, так что ничего не потеряется.

Те ветки, которые содержат наработки, и которые вы пока еще не влили в текущую ветку, легко определить, если включить отображение всех веток. Такие «невлитые» ветки не имеют продолжения (например, ветка feature/issue-53).

Попытка удалить такую ветку приведет к выдаче предупреждения.

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

По материалам книги Pro Git (авторы Scott Chacon и Ben Straub, издательство Apress). Книга распространяется по лицензии Creative Commons Attribution Non Commercial Share Alike 3.0 license.