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

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

Една от най -силните характеристики на Git са неговите леки клони. Те ви позволяват да работите ефективно на паралелни етапи на развитие. Разработчик може дори да създаде отделни клонове за отделни грешки. И във времето, и в пространството клоновете са почти без разходи.





най -добрият ftp клиент за windows 10

Много git работни потоци се занимават както с дългосрочни, така и с временни клонове. Следователно, често има нужда да се изтриват клонове по време на разработката. Понякога се налага изтриване на споделени клонове от отдалечен сървър, както и локални клонове.





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

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





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

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



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

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

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

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





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

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

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

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





$ git branch -d dev

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

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

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

Deleted branch dev (was 1ae41e8).

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

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

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

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

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

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Както при приложението GitHub Desktop, уебсайтът GitHub няма да ви позволи да изтриете клона по подразбиране. Опцията просто не се появява. Изтриването на клон обаче е лесно. От хранилището Код страница, щракнете върху клони връзка, намерете клона за изтриване, след което щракнете върху Изтрийте този клон икона, която прилича на кофа за боклук:

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

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

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

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

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

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

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

Дял Дял Туит електронна поща Как да използвате Git клонове за структуриране на вашия програмен проект

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

Прочетете Напред
Свързани теми
  • Програмиране
  • GitHub
За автора Боби Джак(58 статии са публикувани)

Боби е ентусиаст на технологиите, който работи като софтуерен разработчик в продължение на почти две десетилетия. Той е запален по игрите, работи като редактор на рецензии в Switch Player Magazine и е потопен във всички аспекти на онлайн издателството и уеб разработката.

Още от Боби Джак

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате