Как да преименувате местния клон на git?

Не искам да преименувам отдалечен клон, както е описано в Преименуване на основния клон за локални и отдалечени хранилища Git.

Как да преименувате локален клон, който не е бил кликан на отдалечен клон?

5839
06 июля '11 в 6:20 2011-07-06 06:20 Форест е настроен на 6 юли 2011 г. в 6:20 2011-07-06 06:20
@ 24 отговора

Ако искате да преименувате клон, като го насочите към всеки клон, изпълнете следните стъпки:

 git branch -m <oldname> <newname> 

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

 git branch -m <newname> 

Начинът да запомните това е -m за "move" (или mv ), т.е. как преименувате файловете.

9202
06 июля '11 в 6:21 2011-07-06 06:21 отговорът е даден от siride 06 юли '11 в 6:21 2011-07-06 06:21
 git branch -m old_branch_name new_branch_name 

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

Ако искате да преместите някои промени в съветника, след като локалният клон бъде преименуван на new_branch_name (име на примера):

border=0

git push origin new_branch_name:master (сега промените ще отидат в основния клон, но името на локалния ви клон е new_branch_name)

За подробности вижте " Как да преименувате името на локален клон в Git .

303
21 янв. отговорът е даден на Madhan Ayyasamy 21 януари 2013-01-21 12:49 '13 в 12:49 2013-01-21 12:49

За да преименувате текущия клон:

 git branch -m <newname> 
208
20 июня '13 в 18:05 2013-06-20 18:05 Отговорът е даден от Джонатан на 20 юни 13 в 18:05 2013-06-20 18:05

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

 1. switch to branch which needs to be renamed 2. git branch -m <new_name> 3. git push origin :<old_name> 4. git push origin <new_name>:refs/heads/<new_name> 

EDIT (01/12/2017): Уверете се, че сте стартирали командата git status и се уверете, че новосъздаденият клон сочи към собствения си ref, а не към по-стария. Ако намерите връзка към по-стар клон, трябва да анулирате връзката нагоре, като използвате:

 git branch --unset-upstream 
148
15 апр. Отговор, даден от Milind Anantwar на 15 април 2015-04-15 15:50 '15 в 15:50 2015-04-15 15:50

Преименуването на клон ще бъде полезно след завършване на вашия клон. След това идва новият материал и искате да се развиете в същия клон, а не да го изтриете и да създадете нов.

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

Цитирам от няколко държави. Преименувайте локалния и отдалечения клон на git

1. Преименувайте местния клон

Ако сте в клон, искате да преименувате:

 git branch -m new-name 

Ако сте в друг клон:

 git branch -m old-name new-name 

2. Изтрийте отдалечения клон на старото име и щракнете върху локалния клон на новото име.

 git push origin :old-name new-name 

3. Възстановете горния клон за локалния клон на новото име.

 git push origin -u new-name 
84
14 окт. отговорът е даден trungk18 14 окт. 2016-10-14 06:22 '16 в 6:22 am 2016-10-14 06:22

Отговорите досега са били правилни, но ето допълнителна информация: Можете да преименувате клон с "-m" (ход), но трябва да внимавате, защото "-M" ви принуждава да преименувате, дори ако има съществуващ клон със същото име. Ето откъс от страницата на git -branch:

С опцията -m или -M, <oldbranch> ще бъде преименуван на <newbranch> . Ако <oldbranch> има съответстващо reflog, то се преименува, за да съответства на <newbranch> , и се създава запис за reflog, за да се запомни преименуването на клонове. Ако <newbranch> съществува, -M трябва да се използва за принудително преименуване.

70
24 сент. Отговорът е даден на Ванчев 24 сеп . 2013-09-24 16:21 '13 в 16:21 2013-09-24 16:21

1. Преименуване

Ако това е текущата ви тема, просто

  git branch -m new_name 

Ако това е друг клон, който искате да преименувате

  git branch -m old_name new_name 

2. Проследяване на нов отдалечен клон

, Ако клонът ви е щракнал, след преименуването трябва да го премахнете от отдалеченото хранилище на Git и да попитате новата локална песен на новия отдалечен клон:

  git push origin :old_name git push --set-upstream origin new_name 
56
17 дек. Отговор, даден от Мохамед Осама на 17 декември. 2015-12-17 16:45 '15 в 16:45 2015-12-17 16:45

Аз глупаво наричах клон, започващ с тире, след което проверих капитана. Не исках да премахвам клона си, работех в него.

Нито един от тях не работи:

git checkout -dumb-name

git checkout -- -dumb-name

" s, ' и не помогна. git branch -m не работи.

Така най-накрая я поправих. Отидете на работното копие на .git / refs / heads, намерете името на файла "-dumb-name", вземете хеша на клона. След това ще се провери, ще се създаде нов клон с разумно име и ще се изтрие старата.

 git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name 
51
09 нояб. отговорът е даден от Самуел Меачъм 09 ноември. 2013-11-09 10:31 '13 в 10:31 ч. 2013-11-09 10:31

За да преименувате клон локално:

 git branch -m [old-branch] [new-branch] 

Сега ще трябва да разпространявате тези промени и на отдалечен сървър.

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

 git push origin :[old-branch] 

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

 git push origin [new-branch] 
48
20 авг. отговор, даден aliasav 20 август 2015-08-20 09:39 '15 в 9:39 2015-08-20 09:39

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

 git branch -m [old_branch_name] [new_branch_name] 

-m : преименува / премества клон. Ако има клон, ще получите съобщение за грешка.

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

  git rename -M [old_branch_name] [new_branch_name] 

За повече информация относно помощта използвайте тази команда в терминала:

 git branch --help 

или

 man git branch 
23
11 апр. отговорът е даден от Хафиз Шехбаз Али на 11 април. 2015-04-11 09:19 '15 в 9:19 2015-04-11 09:19

Потребителите на разширени Git могат да преименуват ръчно:

 Rename the old branch under .git/refs/heads to the new name Rename the old branch under .git/logs/refs/heads to the new name Update the .git/HEAD to point to yout new branch name 
22
05 авг. Отговорът е даден от Jethik 05 aug. 2015-08-05 12:04 '15 в 12:04 2015-08-05 12:04

Вероятно, както е споменато от други, това ще бъде несъответствие в името на клоновете.

Ако имате такава ситуация, мога да предполагам, че сте в Windows, което също ще ви доведе до:

 $ git branch -m CaseSensitive casesensitive fatal: A branch named 'casesensitive' already exists. 

След това трябва да направите междинна стъпка:

 $ git branch -m temporary $ git branch -m casesensitive 

Нищо повече.

16
25 мая '15 в 14:52 2015-05-25 14:52 отговорът е даден от P4C на 25 май '15 в 14:52 2015-05-25 14:52

Опитайте се да отговорите конкретно на въпроса (поне заглавието).

Можете също да преименувате локалния клон, но да следите старото име на дистанционното управление.

 git branch -m old_branch new_branch git push --set-upstream origin new_branch:old_branch 

Сега, когато стартирате git push , отдалеченият old_branch ref се обновява до локалния new_branch .

Трябва да знаете и запомняте тази конфигурация. Но това може да бъде полезно, ако нямате избор за името на отдалечения клон, но не ви харесва (о, искам да кажа, имате много добра причина да не го харесвате!) И те предпочитат по-ясно име за вашия местен клонове.

Докато играете с примерната конфигурация, можете дори да преименувате локалната отдалечена връзка. тоест, да има ref refs/remote/origin/new_branch за клона, който всъщност е old_branch към origin . Въпреки това, аз съм много обезсърчен от това, за безопасността на ума ви.

14
19 мая '16 в 13:39 2016-05-19 13:39 отговорът е даден на Пиер-Оливиер Вареш на 19 май 2016 г. в 13:39 часа 2016-05-19 13:39

Друга възможност е въобще да не използвате командния ред. Клиентите на Git GUI, като SourceTree , отнемат по-голямата част от кривата на синтаксиса за обучение / болка, която повдига въпроси като този, който най-често се вижда в препълването на стека.

В SourceTree щракнете с десния бутон на мишката върху местния клон в панела "Клонове" вляво и изберете "Преименуване ...".

12
08 марта '15 в 19:13 2015-03-08 19:13 Отговорът е даден от Стив Чеймбърс на 8 март в 19:13 ч. 2015-03-08 19:13

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

 git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branch git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote 

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

12
10 мая '16 в 21:04 2016-05-10 21:04 отговорът е даден Hazarapet Tunanyan Май 10 '16 в 21:04 2016-05-10 21:04

За да преименувате текущия клон (с изключение на отделно състояние HEAD), можете да използвате и този псевдоним:

 [alias] mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1' 
11
02 сент. отговор, даден dentuzhik 02 Sep. 2014-09-02 20:25 '14 в 20:25 2014-09-02 20:25

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

Да кажем, че имате съществуващ клон, наречен "my-hot-feature" и искате да го преименувате на "feature-15".

Първо искате да промените локалния клон. Не може да бъде по-лесно:

 git branch -m my-hot-feature feature-15 

За повече информация, можете да посетите локалния и отдалечено преименувате клона на Git .

7
27 окт. Отговор Tanah 27 октомври 2015-10-27 13:17 '15 в 13:17 2015-10-27 13:17

Ако искате да използвате SourceTree (което силно препоръчвам), можете да щракнете с десния бутон на вашия клон и да изберете "Преименуване".

2019

git версия 2.9.2

Ако искате да промените името на местния клон, на който се намирате:

 git branch -m new_name 

Ако искате да промените името на друг клон:

 git branch -m old_name new_name 

Ако искате да промените името на друг клон на съществуващо име:

 git branch -M old_name new_name_that_already_exists 

Забележка. Последната команда е разрушителна и преименува вашия клон, но ще загубите стария клон с това име и те ще го поправят, защото имената на клоновете трябва да са уникални.

5
22 сент. Отговор, даден от nikkypx 22 септември 2016-09-22 03:03 '16 в 3:03 2016-09-22 03:03

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

 git branch -m [old_branch] [new_branch] 

Ако искате да изтриете стария отдалечен клон, изпълнете:

 git push origin :[old_branch] 

Ако искате да изтриете стария отдалечен клон и да създадете нов отдалечен клон, изпълнете:

 git push origin :old_branch new_branch 
4
31 янв. отговорът е даден на Ариф 31 януари 2017-01-31 18:53 '17 в 18:53 2017-01-31 18:53

Промяната на клон на местно ниво е доста проста! ...

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

 git branch -m my_new_branch 

В противен случай, ако сте на master или друг клон , с изключение на този, който искате да промените, просто изпълнете:

 git branch -m my_old_branch my_new_branch 

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

2019

Ако искате да преименувате хранилището на git -
git branch -m <oldname> <newname>
премахване на стария клон
git push origin :old-name new-name
Поправете го с

git commit <newname>
и след това щракнете върху git push origin new_branch_name:master
Ако искате да проверите състоянието, използвайте: -
git status
Ако искате да проверите, след това: -
git checkout

0
26 авг. отговорът е даден от Vineet Jain 26 август. 2017-08-26 17:18 '17 в 17:18 2017-08-26 17:18

Всичко това говори за git branch -m . Разбира се, с нея е лесно да се работи, но може да ми е малко трудно да си спомня друга команда. Затова се опитах да свърша работата с екипа, с когото познавах. Да, можеш да предполагаш.

Използвам git branch -b <new_branch_name> . И ако не искате да запазите стария клон, можете да го git branch -D <old_branch_name> за да го премахнете.

Знам, че това може да е малко уморително, но е по-лесно да се разбере и запомни. Надявам се, че това е полезно за вас.

0
29 авг. Отговор, даден от Дай Кайсян на 29 август. 2017-08-29 05:16 '17 в 5:16 am 2017-08-29 05:16

git преименуване на клон може да се направи с помощта

  • git branch -m oldBranch newBranch

  • git branch -M oldBranch ExistingBranch

Разликата между -m и -M ,

-m: ако се опитате да преименувате клона си с изхода на името на клона с помощта на -m, това ще доведе до грешка, казва че клонът вече съществува. Трябва да посочите уникално име.

но

-M : , ще ви помогне да преименувате принудително с дадено име, дори и да съществува. следователно съществуващият клон ще го презапише напълно ...

Ето пример за терминал git,

 mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master test * test1 mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test fatal: A branch named 'test' already exists. mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master * test mohideen@dev:~/project/myapp/sunithamakeup$ 
0
01 сент. Отговор, даден от Mohideen ibn Mohammed на 01 септември 2017-09-01 09:59 '17 в 9:59 2017-09-01 09:59

Други въпроси относно tags или Ask a Question