Предыдущий ролик Следующий ролик  

Видео урок: Удаление бранчей

Git: обучение основам

Мы изучили, как создавать бранчи, а теперь мы изучим, как их удалять. Мы уже создали несколько бранчей, git branch покажет этот список. И независимо от того, есть ли у вас такие же бранчи, что и у меня, убедитесь, что вы переключились на мастер-бранч, итак, git checkout master. Эта команда переведет нас на мастер-бранч. Как только мы попадаем сюда, мы создаем новый бранч, git branch, а затем мы просто даем имя новому бранчу, который мы хотим создать. Называем его branch_to_delete. Вот он прекрасно создан, все очевидно. Итак, git branch покажет нам этот бранч в списке.

Обратите внимание, что я до сих пор нахожусь в мастер-бранче. Я создал новый бранч, но не переключился на него, я просто создал его, это важно. А теперь мы хотим его удалить. Это довольно просто: git branch с опцией d. Итак, -d или вы можете использовать --delete, если хотите. Большинство людей используют только d, а затем идем имя бранча, который вы хотите удалить. Итак, git branch с опцией delete и имя бранча для удаления. Нажимаем на него, branch_to_delete, git branch, и вот бранч удален.

Вы можете сказать - ого, это довольно мощная штука! Однако мы должны быть осторожными и случайно не удалить то, что мы не хотим удалять. Это обычное дело, когда вы вообще что-либо удаляете, но в Git есть несколько проверок, которые помогут вам убедиться, что вы не сделали что-то глупое. Чтобы рассмотреть первую из них, давайте создадим бранч и снова назовем его branch_to_delete. Вот и все, делаем чекаут бранча, get checkout branch_to_delete. Теперь я нахожусь в этом бранче, давайте попробуем его удалить, git branch -d branch_to_delete не может удалить бранч, в котором вы находитесь на данный момент.

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

Давайте сделаем здесь что-то действительно простое, открываем файл index.html и меняем Welcome to Explore California на Explore California: Tours and More. Это довольно глупо, но мы уже так делали, так что давайте сделаем то же самое. Это очень простое изменение. Коммитим его. Мы используем опцию -a, так что нам не нужно добавлять его отдельно, и сейчас мы просто говорим поменять название. Мы собираемся удалить этот бранч, и это не проблема.

Итак, git log --oneline, вот вы видите сделанный коммит. Я нахожусь в бранче branch_to_delete. Git не позволит мне его удалить, пока я в нем, давайте выйдем: git checkout и пишем master. Теперь я переключился на master, git branch покажет мне, что я нахожусь в основном бранче. А теперь давайте попробуем удалить этот второй бранч, git branch -d branch_to_delete, и Git нам говорит: "Стоп, стоп, стоп, погоди. Тут есть некоторые изменения, которых нет в бранче, в котором вы находитесь сейчас.

Поэтому я не хочу выбрасывать эти коммиты. Это довольно глупо. И если вы хотите мне сказать, что вам действительно это нужно, используйте заглавную D. Заглавная D скажет мне, что можно удалять изменения, находящиеся в этом бранче, а вот маленькая D - это некий способ обезопасить себя". Git просто хочет убедиться, что мы ничего не потеряем. Итак, опция -D, бранч будет полностью удален, независимо слит с другим бранчем или нет. То есть, Git удалит бранч независимо от его статуса слияния.

Давайте используем опцию -D, чтобы сказать Git, что мы действительно этого хотим. И вот бранч удален, git branch, и вы видите, что его нет. Итак, довольно легко удалять бранчи, но к счастью, Git дает нам некоторые проверки, чтобы мы могли убедиться, что не сделаем чего-то глупого. Так что всегда сначала используйте опцию с маленькой -d, и тогда Git скажет вам - я хочу вас кое о чем предупредить, прежде чем вы что-то сделаете. И тогда вы можете использовать опцию с заглавной D, если это именно то, что вам нужно.