Git

Как удалить ветку Git

Как удалить ветку Git
Создавать ветки в Git просто. Считается одной из лучших функций Git. Однако из-за наличия удаленных и локальных репозиториев удаление веток может немного запутать.

В этом уроке мы сделаем следующее:

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

Давайте начнем.

1. Создание удаленного репозитория

Создадим папку под названием project.git и инициализируйте его как удаленный репозиторий:

$ mkdir проект.мерзавец
$ cd project.мерзавец
$ git init -bare

Инициализированный пустой репозиторий Git в / Users / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Создание локальной копии удаленного репозитория

В новом месте давайте создадим локальную копию удаленного репозитория с именем project_local, используя команду clone.

Примечание. Если вы работаете с GitHub или BitBucket, вы выполните тот же процесс, чтобы клонировать репозиторий. В этом случае у вас будет ссылка SSH вместо полного пути к файлу, используемого здесь.

$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / проект.git project_local
Клонирование в project_local…
предупреждение: похоже, вы клонировали пустой репозиторий.
Выполнено.

3. Создание веток внутри локальной копии

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

$ cd project_local
 
$ touch ReadMe.текст
 
$ git add -A
 
$ git commit -m "Инициализация модуля"
 
[master (root-commit) 81eb2a3] Инициализация модуля
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 ReadMe.текст
 
$ git push origin master
 
Подсчет объектов: 3, готово.
Запись объектов: 100% (3/3), 221 байт | 0 байт / с, выполнено.
Всего 3 (дельта 0), повторно используется 0 (дельта 0)
К / Users / zak / _work / LearnGIT / git_delete_branch / project.мерзавец
* [новая ветка] мастер -> мастер

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

Если вы проверите ветки, вы увидите главную ветку в локальной копии:

$ git ветка
* владелец

Если вы проверите удаленные ветки, вы также увидите там главную ветку:

$ git branch -r
происхождение / хозяин

Подсказка: вы можете использовать опцию '-a', чтобы увидеть все ветки в локальном и удаленном репозиториях вместе.

$ git branch -a
* владелец
пульты / происхождение / мастер

Давайте создадим две ветки с именами b1 и b2 из основной ветки:

$ git ветка b1
$ git ветка b2

Проверим, созданы ли ветки:

$ git ветка
 
b1
Би 2
* владелец

Теперь мы собираемся внести некоторые изменения в ветки:

$ git checkout b1
 
Перешел на ветку b1
 
$ touch branch1.текст
 
$ git add -A
 
$ git commit -m "Модификация Branch1"
 
[b1 a2f488e] Модификация Branch1
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 branch1.текст
 
$ git checkout b2
 
Перешел на ветку b2
 
$ touch branch2.текст
 
$ git add -A
 
$ git commit -m "Модификация Branch2"
 
[b2 2abb723] Модификация Branch2
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 branch2.текст

Проверим статусы локального и удаленного филиалов:

$ git ветка
 
b1
* Би 2
владелец
 
$ git branch -r
 
происхождение / хозяин

Мы видим, что локально у нас есть три мастера ветки, b1 и b2. Но у нас в удаленном репозитории есть только мастер-ветка.

4. Отправка веток в удаленный репозиторий

Перенесем ветку b1 в удаленный репозиторий:

$ git push origin b1
 
Подсчет объектов: 2, готово.
Дельта-сжатие с использованием до 4 потоков.
Сжатие объектов: 100% (2/2), готово.
Запись объектов: 100% (2/2), 249 байт | 0 байт / с, выполнено.
Всего 2 (дельта 0), повторно используется 0 (дельта 0)
К / Users / zakh / _work / LearnGIT / git_delete_branch / project.мерзавец
* [новая ветка] b1 -> b1

Вы можете проверить статусы локального и удаленного филиалов:

$ git ветка
 
b1
* Би 2
владелец
 
$ git branch -r
 
origin / b1
происхождение / хозяин

Из приведенных выше статусов веток мы видим, что ветка b1 также доступна удаленно.

5. Удаление веток локально

Вы можете удалить ветки локально с помощью опции -d или -D.

git branch -d

Давайте сначала проверим главную ветку, чтобы мы могли удалить ветки b1 и b2.

$ git checkout master
 
Перешел на ветку master
В вашей ветке установлена ​​последняя версия "origin / master".

Давайте сначала попробуем опцию -d, чтобы удалить ветку b1:

$ git branch -d b1
 
ошибка: ветка 'b1' не полностью объединена.
Если вы уверены, что хотите его удалить, запустите 'git branch -D b1'.

Ошибка сообщает вам, что вам нужно объединить изменения из ветки b1. Это мера предосторожности, поэтому вы по ошибке не потеряете свою работу на ветках. Вы можете использовать параметр -D, чтобы принудительно удалить слияние. Но в этом случае давайте объединим изменения из b1 и b2 в мастер и отправим его в удаленный репозиторий.

$ git слияние b1
 
Обновление 81eb2a3… a2f488e
Перемотка вперед
филиал1.txt | 0
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 branch1.текст
 
$ git слияние b2
 
Слияние по «рекурсивной» стратегии.
филиал2.txt | 0
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 branch2.текст
 
$ git push origin master
 
Подсчет объектов: 4, готово.
Дельта-сжатие с использованием до 4 потоков.
Сжатие объектов: 100% (4/4), готово.
Запись объектов: 100% (4/4), 454 байта | 0 байт / с, выполнено.
Всего 4 (дельта 1), повторно используется 0 (дельта 0)
К / Users / zak / _work / LearnGIT / git_delete_branch / project.мерзавец
81eb2a3… 34db496 мастер -> мастер

Теперь попробуйте снова удалить ветки:

$ git ветка
 
b1
Би 2
* владелец
 
$ git branch -d b1
 
Удалена ветка b1 (была a2f488e).
 
$ git ветка -d b2
 
Удалена ветка b2 (была 2abb723).
 
$ git ветка
 
* владелец

Вы успешно удалили ветки b1 и b2 локально.

6. Удаление удаленных филиалов

Когда вы проверяете удаленные ветки, вы все еще видите присутствие b1:

$ git branch -r
 
origin / b1
происхождение / хозяин

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

git push --Удалить

Таким образом, вы можете удалить удаленную ветку b1 следующим образом:

$ git push origin - удалить b1
 
К / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.мерзавец
- [удалено] b1

Теперь, если вы проверите свои удаленные ветки, вы больше не должны видеть b1:

$ git branch -r
 
происхождение / хозяин

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

Дальнейшее изучение:

  • https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
  • https: // git-scm.com / book / en / v2 / Git-Branching-Branches-in-a-Nutshell
  • https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branch-and-Merging
Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...