Как да изтриете клон в Git локално и отдалечено

Ключови изводи

  • Изтриването на разклонения е важна част от типичния работен процес на Git.
  • Можете да изтриете локален клон, като използвате командата „git branch -d [branchname]“, но внимавайте с необединени промени.
  • Различни инструменти като GitHub Desktop, GitKraken, Tower и Bitbucket имат свои собствени методи за изтриване на клонове, така че се запознайте със специфичния процес за всеки инструмент.

Клоновете на Git са толкова леки, че е лесно да ги създадете, когато имате нужда. Но също така е лесно да се окажете с остатъчни клони, от които вече не се нуждаете. И така, какво включва изтриването на клон?

Защо да изтриете клон?

Първо, ако все още се учите как да структурирате проект с помощта на git разклонения, има доста голям шанс да създадете разклонение и след това да решите, че не е необходимо. Това е добре, тъй като разклоняването е лека операция; той е много бърз и използва дисковото пространство ефективно.

В резултат на това много работни потоци за разработка на git насърчават разклоняване, дори за много малки или кратки задачи. Например, обща стратегия е да се създаде отделен клон за всяка корекция на грешка.

  Как да възстановите сумата за игра GOG

Изтриването на клонове трябва да бъде също толкова част от ежедневния ви работен процес, колкото и създаването им.

Примерно хранилище с клонове

Примерите по-долу се отнасят до примерно хранилище със следната структура:

Имайте предвид, че репото има два клона: main и dev. Всеки от тези локални клонове е проследяващ клон със съответния клон нагоре по веригата на отдалечен сървър (произход).

Лесно е да загубите представа за разклоненията, така че се уверете, че знаете как да изброявате разклонения на git от командния ред или да ги видите в предпочитания от вас клиент.

Изтриване на клон с помощта на командния ред

Основният команден синтаксис за изтриване на клон е:

 git branch (-d | -D) [-r] <branchname>... 

Как да изтриете местен клон

Най-простата форма на командата изтрива локален клон, при условие че всичките му промени са обединени:

 git branch -d dev 

Когато нещата вървят както трябва, ще видите съобщение за потвърждение:

Не можете да изтриете клона, който е активен в момента; ако се опитате да го направите, ще получите съобщение като това:

Ако изтриете локален клон с необединени, ненасочени промени, ще загубите тези промени. Следователно git ще откаже да изтрие такъв клон по подразбиране. В този пример dev има необединени промени, които не са изпратени към отдалечения клон:

Както се казва в съобщението за грешка, можете да принудите изтриването с флага -D.

Можете да изтриете локален клон за проследяване, ако съответният му отдалечен клон е актуален, дори ако не е обединен. Git пак ще покаже предупреждение, така че да сте наясно какво се е случило:

Как да изтриете отдалечен клон

Изтриването на отдалечен клон е съвсем различно. Ще използвате командата git push заедно с флага -d за изтриване. След това въведете името на дистанционното (често произход) и името на клона:

  9 най-добри SOP (стандартна оперативна процедура) шаблони за бизнеса

Изтриване на локални и отдалечени клонове с GitHub Desktop

За разлика от програмата git от командния ред, Настолното приложение на GitHub ще ви позволи да изтриете само активния клон. Можете да извършите това действие през менюто Разклонение, като изберете опцията Изтриване и я потвърдите:

GitHub Desktop няма да ви позволи да изтриете клона по подразбиране – например main – въпреки че самият git поддържа това. Ако клонът по подразбиране е този, който е активен в момента, приложението деактивира действието на менюто.

Ако клонът също представлява отдалечен клон, GitHub Desktop дава опцията за изтриването му и от отдалеченото:

Изтриване на клонове с помощта на GitKraken

GitKraken показва локалните и отдалечените клонове на вашето хранилище в лявата странична лента. Трябва да изтриете всеки поотделно.

Задръжте курсора на мишката върху съответното име на клон и щракнете върху менюто за действия на клон, което изглежда като три вертикални точки. От менюто изберете Изтриване <име на клон>:

Ще видите съобщение за потвърждение, което ви информира, че това е разрушителна операция. Можете да потвърдите, че искате да продължите с бутона Изтриване:

Отразявайки поведението по подразбиране на програмата от командния ред git, първо трябва да превключите към клон, различен от този, който изтривате. В противен случай ще видите съобщение за грешка:

Изтриване на локални и отдалечени клонове с помощта на Tower

Изтриване на клон с Кула е много подобно на изтриването на клон с GitKraken. Приложението показва локални и отдалечени клонове в панел от лявата страна. Щракнете с десния бутон върху произволен клон и изберете опцията Изтриване от контекстното меню:

  8 най-добри онлайн инструмента за безплатна промяна на фона на изображението

Една ключова разлика е, че можете да изтриете отдалечен клон, заедно с неговия локален клон, по време на потвърждение:

Изтриване на клон в GitHub

GitHub действа само като отдалечен източник, така че клоновете там са отдалечени по подразбиране. Ако изтриете клон с помощта на уебсайта GitHub, ще трябва да изтриете съответния локален клон, като използвате един от другите методи тук.

Както при приложението GitHub Desktop, уебсайтът GitHub няма да ви позволи да изтриете клона по подразбиране. Ако опитате, ще видите съобщение за грешка:

Изтриването на всеки друг клон обаче е лесно. От кодовата страница на хранилището щракнете върху връзката към клонове, намерете клона за изтриване, след което щракнете върху иконата за изтриване на клон, която изглежда като кошче:

Имайте предвид, че няма проверки за необединени промени, така че GitHub просто ще изтрие клона веднага. Въпреки това, тъй като винаги ще представлява отдалечен клон, това поведение трябва да има смисъл.

Обърнете внимание, че след изтриването ще видите бутон за възстановяване на клона. Това обаче е просто полезна функция за отмяна, само в случай че щракнете върху иконата за изтриване случайно. Не разчитайте на него, защото веднага щом опресните или излезете от страницата, ще загубите опцията!

Изтриване на локални и отдалечени клонове на Bitbucket

Bitbucket, подобно на GitHub, няма да ви позволи да изтриете клона по подразбиране. Bitbucket нарича това главен клон в настройките на хранилището. Можете да изтриете всеки друг клон, посочен в раздела Клонове, чрез съответното меню Действия:

Можете също така да изтриете повече от един клон наведнъж, ако извършвате голяма операция по почистване:

Изтриването на клонове е част от типичен работен процес на Git

Клоновете на Git могат да усложнят работния ви процес, особено такъв с локални, отдалечени и проследяващи клонове. Но за проста ежедневна разработка е вероятно да създавате и изтривате локални клонове през цялото време. Това е основен аспект на типичния работен процес на git, с който трябва да свикнете.

Ако ви е трудно да си спомните как точно да изтриете клон, помислете за настройка на псевдоними за премахване на клонове и просто процеса.