Git

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

Как да изтриете клон на Git
Създаването на клонове в Git е лесно. Смята се за една от най-добрите характеристики на Git. Въпреки това, поради наличието на отдалечени и локални хранилища, изтриването на клонове може да стане малко объркващо.

В този урок ще направим следното:

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

Да започваме.

1. Създаване на отдалечено хранилище

Нека създадем папка, наречена проект.git и инициализирайте, за да бъде отдалеченото хранилище:

$ mkdir проект.git
$ cd проект.git
$ git init -bare

Инициализирано празно Git хранилище в / Users / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Създаване на локално копие на отдалеченото хранилище

На ново място, нека създадем локално копие, наречено project_local на отдалеченото хранилище, използвайки командата клониране.

Забележка: Ако работите с GitHub или BitBucket, ще следвате същия процес, за да клонирате хранилището. В този случай ще имате SSH връзка вместо пълния път до файла, използван тук.

$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / project.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 master master
 
Преброяване на обекти: 3, готово.
Писане на обекти: 100% (3/3), 221 байта | 0 байта / s, готово.
Общо 3 (делта 0), повторно използвана 0 (делта 0)
Към / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [нов клон] master -> master

В горните команди създадохме файл, наречен ReadMe.txt, добави го към локалното копие, ангажира го към локалното копие и след това прокара промените в отдалеченото хранилище или главния клон на произхода.

Ако проверите клоновете, ще видите главния клон в локалното копие:

$ git клон
* майстор

Ако проверите отдалечените клонове, ще видите и главния клон там:

$ git клон -r
произход / майстор

Съвет: Можете да използвате опцията '-a', за да видите всички клонове в локални и отдалечени хранилища заедно.

$ git клон -a
* майстор
дистанционни / произход / главен

Нека създадем два клона, наречени b1 и b2 от главния клон:

$ git клон b1
$ git клон b2

Нека проверим дали клоновете са създадени:

$ git клон
 
b1
b2
* майстор

Сега ще направим някои модификации на клоновете:

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

Нека проверим локални и отдалечени състояния на клонове:

$ git клон
 
b1
* b2
майстор
 
$ git клон -r
 
произход / майстор

Локално можем да видим, че имаме три клона master, b1 и b2. Но имаме само главния клон в отдалеченото хранилище.

4. Избутване на клонове в отдалечено хранилище

Нека натиснем клон b1 към отдалеченото хранилище:

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

Можете да проверите локалните и отдалечени състояния на клонове:

$ git клон
 
b1
* b2
майстор
 
$ git клон -r
 
произход / b1
произход / майстор

От горните състояния на клонове можем да видим, че клонът b1 е достъпен и отдалечено.

5. Локално изтриване на клонове

Можете да изтриете клонове локално с опцията -d или -D.

git клон -d

Нека първо проверим в главния клон, за да можем да изтрием клоните b1 и b2.

$ git checkout master
 
Превключено към клон „master“
Вашият клон е актуален с 'origin / master'.

Нека първо опитаме опцията -d, за да изтрием клона b1:

$ git клон -d b1
 
грешка: Клонът „b1“ не е напълно обединен.
Ако сте сигурни, че искате да го изтриете, стартирайте 'git клон -D b1'.

Грешката ви казва, че трябва да обедините промените от клон b1. Това е предпазна мярка, за да не загубите по погрешка работата си по клонове. Можете да използвате опцията -D, за да принудите да изтриете сливането. Но в този случай, нека обединим промените от b1 и b2 в master и ги избутаме в отдалеченото хранилище.

$ git merge b1
 
Актуализиране на 81eb2a3 ... a2f488e
Превъртане напред
клон1.txt | 0
1 файл е променен, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 клон1.текст
 
$ git merge b2
 
Обединяване, направено от "рекурсивната" стратегия.
клон2.txt | 0
1 файл е променен, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 клон2.текст
 
$ git push master master
 
Преброяване на обекти: 4, готово.
Делта компресия с използване на до 4 нишки.
Компресиране на обекти: 100% (4/4), готово.
Писане на обекти: 100% (4/4), 454 байта | 0 байта / s, готово.
Общо 4 (делта 1), повторно използвана 0 (делта 0)
До / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 master -> master

Сега опитайте да изтриете клоновете отново:

$ git клон
 
b1
b2
* майстор
 
$ git клон -d b1
 
Изтрит клон b1 (беше a2f488e).
 
$ git клон -d b2
 
Изтрит клон b2 (беше 2abb723).
 
$ git клон
 
* майстор

Успешно сте изтрили клон b1 и b2 локално.

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

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

$ git клон -r
 
произход / b1
произход / майстор

Можете да използвате следната команда, за да изтриете отдалечен клон:

git push --Изтрий

Така че можете да изтриете отдалечения клон b1 със следното:

$ git push origin --delete b1
 
Към / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [изтрит] b1

Сега, ако проверите отдалечените си клонове, вече не трябва да виждате b1:

$ git клон -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-Branching-and-Merging
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...
Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...