Jak zmienić nazwę lokalnej gałęzi Git?
Nie chcę zmieniać nazwy zdalnej gałęzi, zgodnie z opisem w zmiana nazwy gałęzi master zarówno dla repozytoriów lokalnych jak i zdalnych Git.
Jak mogę zmienić nazwę lokalnej gałęzi, która nie została przesunięta do gałęzi zdalnej?
W przypadku konieczności zmiany nazwyRemote branch również:
Jak zmienić nazwę zarówno lokalnej jak i zdalnej gałęzi Git
30 answers
Jeśli chcesz zmienić nazwę gałęzi, gdy wskazujesz na dowolną gałąź, wykonaj:
git branch -m <oldname> <newname>
Jeśli chcesz zmienić nazwę bieżącej gałęzi, możesz to zrobić:
git branch -m <newname>
Sposobem na zapamiętanie tego jest {[4] } to "Przenieś" (lub mv
), czyli jak zmieniasz nazwy plików. Dodanie aliasu może również pomóc. Aby to zrobić, uruchom następujące:
git config --global alias.rename 'branch -m'
Jeśli korzystasz z Windows lub innego systemu plików bez rozróżniania wielkości liter, a w nazwie są tylko zmiany wielkiej litery, musisz użyć -M
, w przeciwnym razie git wyrzuci oddział już istnieje błąd:
git branch -M <newname>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-23 16:24:13
git branch -m old_branch_name new_branch_name
Powyższe polecenie zmieni nazwę Twojej gałęzi, ale musisz być bardzo ostrożnym przy użyciu przemianowanej gałęzi, ponieważ nadal będzie odnosić się do starej gałęzi powiązanej z nią, jeśli w ogóle istnieje.
Jeśli chcesz wprowadzić zmiany do master po zmianie nazwy lokalnej gałęzi na new_branch_name (przykładowa Nazwa):
git push origin new_branch_name:master
(Teraz zmiany przejdą do gałęzi master, ale twoja lokalna nazwa gałęzi to new_branch_name)
Aby uzyskać więcej informacji, zobacz " Jak zmienić nazwę lokalnego nazwa gałęzi w Git ."
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-14 20:18:59
Aby zmienić nazwę bieżącej gałęzi:
git branch -m <newname>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-20 15:05:04
Oto kroki zmiany nazwy gałęzi:
- przełącz się na gałąź, która wymaga zmiany nazwy
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
EDIT (12.01.2017): upewnij się, że uruchomiłeś komendę git status
i sprawdź, czy nowo utworzona gałąź wskazuje na własny ref, a nie na starszy. Jeśli znajdziesz odniesienie do starszej gałęzi, musisz odłączyć upstream używając:
git branch --unset-upstream
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:10:34
Zmiana nazwy gałęzi będzie przydatna po jej zakończeniu. Następnie nadchodzą nowe rzeczy i chcesz rozwijać się w tej samej gałęzi zamiast usuwać ją i tworzyć nową.
Z mojego doświadczenia wynika, że aby zmienić nazwę lokalnej i zdalnej gałęzi w Git powinieneś wykonać następujące kroki.
Cytowanie z wielu stanów-zmiana nazwy lokalnej i zdalnej gałęzi w git
1. Zmień nazwę lokalnego oddziału
Jeśli jesteś na gałęzi chcesz Zmień nazwę:
git branch -m new-name
Jeśli jesteś na innej gałęzi:
git branch -m old-name new-name
2. Usuń zdalną gałąź o starej nazwie i wypchnij lokalną gałąź o nowej nazwie
git push origin :old-name new-name
3. Resetuje gałąź upstream dla lokalnej gałęzi o nowej nazwie
git push origin -u new-name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:14:45
Odpowiedzi do tej pory były poprawne, ale oto kilka dodatkowych informacji:
Można bezpiecznie zmienić nazwę gałęzi za pomocą '-m' (move), ale trzeba uważać na '-M', ponieważ wymusza zmianę nazwy, nawet jeśli istnieje już gałąź o tej samej nazwie. Oto fragment strony podręcznika 'Git-branch':
Z opcją-m lub-M,
<oldbranch>
zostanie zmieniona na<newbranch>
. Jeśli<oldbranch>
miał odpowiadający reflog, zmienia nazwę na match<newbranch>
, A wpis reflog jest stworzony, aby zapamiętać zmianę nazwy gałęzi. Jeśli<newbranch>
istnieje, należy użyć opcji-M, aby wymusić zmianę nazwy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-04 18:16:31
1. Rename
Jeśli jest to twoja obecna gałąź, po prostu zrób
git branch -m new_name
Jeśli jest to inna gałąź, którą chcesz zmienić nazwę
git branch -m old_name new_name
2. Śledzenie nowej zdalnej gałęzi
- Jeśli twoja gałąź została wypchnięta, to po zmianie nazwy musisz usunąć ją ze zdalnego repozytorium Git i poprosić nową lokalną gałąź o śledzenie nowej gałęzi:
git push origin :old_name
git push --set-upstream origin new_name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 23:15:57
Głupio nazwałem gałąź zaczynającą się od myślnika, a potem sprawdziłem mistrza. Nie chciałem usuwać mojej gałęzi, miałem w niej pracę.
Żadne z nich nie zadziałało:
git checkout -dumb-name
git checkout -- -dumb-name
"
s, '
S I \
s też nie pomogły. Nie działa.
git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-09 07:31:35
Aby zmienić lokalną nazwę gałęzi:
git branch -m [old-branch] [new-branch]
Teraz będziesz musiał propagować te zmiany również na swoim zdalnym serwerze.
Aby wypchnąć zmiany usuniętej starej gałęzi:
git push origin :[old-branch]
Aby wypchnąć zmiany tworzenia nowej gałęzi:
git push origin [new-branch]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-20 06:39:00
Tylko trzy kroki do powtórzenia zmiany nazwy na remote
oraz na Githubie:
Krok 1 git branch -m old_branchname new_branchname
Krok 2 git push origin :old_branchname new_branchname
Krok 3 git push --set-upstream origin new_branchname
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-08 03:54:43
Zmień nazwę gałęzi używając tego polecenia:
git branch -m [old_branch_name] [new_branch_name]
-m
: zmienia nazwę / przenosi gałąź. Jeśli istnieje już gałąź, pojawi się błąd.
Jeśli istnieje już gałąź i chcesz zmienić jej nazwę, użyj:
git rename -M [old_branch_name] [new_branch_name]
Aby uzyskać więcej informacji o pomocy, użyj tego polecenia w terminalu:
git branch --help
Lub
man git branch
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:07:57
Zaawansowani użytkownicy Git mogą zmieniać nazwy ręcznie używając:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-11 12:19:49
- Zmień nazwę lokalnego oddziału.
Jeśli jesteś na gałęzi chcesz zmienić nazwę:
git branch -m new-name
Jeśli jesteś na innej gałęzi:
git branch -m old-name new-name
- Usuń zdalną gałąź o starej nazwie i wypchnij lokalną gałąź o nowej nazwie.
git push origin :old-name new-name
- resetuje gałąź nadrzędną dla lokalnej gałęzi o nowej nazwie. Przełącz na gałąź a następnie:
git push origin -u new-name
Lub w szybki sposób, aby to zrobić, możesz użyć tych 3 kroków:
# Zmień nazwę gałęzi lokalnie
git branch -m old_branch new_branch
# Usuń starą zdalną gałąź
git push origin :old_branch
# wciśnij nową gałąź, Ustaw lokalną gałąź, aby śledziła nowy zdalny
git push --set-upstream origin new_branch
Referance: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-14 20:05:22
Oto trzy kroki: polecenie, które możesz wywołać wewnątrz terminala i zmienić nazwę gałęzi.
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
Jeśli potrzebujesz więcej: krok po kroku, Jak zmienić nazwę gałęzi Git dobry artykuł na ten temat.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:12:53
Prawdopodobnie, jak wspominali inni, będzie to niedopasowanie w nazewnictwie gałęzi.
Jeśli masz taką sytuację, to domyślam się, że jesteś na Windowsie, co również doprowadzi cię do:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
Następnie musisz zrobić krok pośredni:
$ git branch -m temporary
$ git branch -m casesensitive
Nic więcej.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:08:53
Próbuje odpowiedzieć konkretnie na pytanie (przynajmniej tytuł).
Możesz również zmienić nazwę lokalnej gałęzi , ale śledzi starą nazwę na pilocie.
git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch
Teraz, gdy uruchomisz git push
, Remote old_branch
ref jest aktualizowany o lokalny new_branch
.
Musisz znać i pamiętać tę konfigurację. Ale może się przydać, jeśli nie masz wyboru nazwy zdalnej gałęzi, ale ci się nie podoba (oh, mam na myśli, masz Bardzo dobry powód, żeby tego nie lubić !) i wolą jaśniejszą nazwę dla lokalnego oddziału.
Grając z konfiguracją pobierania, możesz nawet zmienić nazwę lokalnego Remote-reference. tj. posiadanie wskaźnika ref refs/remote/origin/new_branch
do gałęzi, czyli w rzeczywistości old_branch
on origin
. Jednak bardzo odradzam to, dla bezpieczeństwa twojego umysłu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-19 10:39:47
Zmiana gałęzi lokalnie jest dość prosta...
Jeśli jesteś na gałęzi, dla której chcesz zmienić nazwę, po prostu zrób to:
git branch -m my_new_branch
W przeciwnym razie, jeśli jesteś na master
lub innej gałęzi innej niż ta, którą chcesz zmienić nazwę, po prostu zrób:
git branch -m my_old_branch my_new_branch
Ponadto, tworzę poniższy obrazek, aby pokazać to w akcji w linii poleceń . W tym przypadku jesteś na gałęzi master
, na przykład:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:15:53
Aby zmienić nazwę bieżącej gałęzi (poza odłączonym stanem głowy) możesz również użyć tego aliasu:
[alias]
mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:07:53
Jeśli chcesz użyć SourceTree (co zdecydowanie polecam), możesz kliknąć prawym przyciskiem myszy swoją gałąź i wybrać 'Zmień nazwę'.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-06 07:03:02
Inną opcją jest nieużywanie w ogóle wiersza poleceń. Klienci Git GUI, tacy jak SourceTree odbierają wiele krzywej uczenia się składni / bólu, który powoduje, że pytania takie jak ten należą do najczęściej oglądanych na Stack Overflow.
W SourceTree kliknij prawym przyciskiem myszy dowolną lokalną gałąź w okienku " gałęzie "po lewej stronie i wybierz" Zmień nazwę ...".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:06:43
Prosty sposób na to:
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
Aby dowiedzieć się więcej, Zobacz to .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:26:02
Ponieważ nie chcesz przenosić gałęzi na zdalny serwer, ten przykład będzie przydatny:
Załóżmy, że masz istniejącą gałąź o nazwie "my-hot-feature" i chcesz zmienić jej nazwę na " feature-15."
Najpierw chcesz zmienić lokalny oddział. To nie może być łatwiejsze:
git branch -m my-hot-feature feature-15
Aby uzyskać więcej informacji, możesz odwiedzić lokalna i zdalna zmiana nazwy gałęzi w Git.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:10:24
Git version 2.9.2
Jeśli chcesz zmienić nazwę lokalnego oddziału, na którym się znajdujesz:
git branch -m new_name
Jeśli chcesz zmienić nazwę innej gałęzi:
git branch -m old_name new_name
Jeśli chcesz zmienić nazwę innej gałęzi na nazwę, która już istnieje:
git branch -M old_name new_name_that_already_exists
Uwaga: ostatnie polecenie jest destrukcyjne i zmieni nazwę Twojej gałęzi, ale stracisz starą gałąź z tą nazwą i zatwierdzeniami, ponieważ nazwy gałęzi muszą być unikalne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:14:24
Jeśli chcesz zmienić nazwę bieżącej gałęzi, Uruchom:
git branch -m [old_branch] [new_branch]
Jeśli chcesz usunąć starą zdalną gałąź, Uruchom:
git push origin :[old_branch]
Jeśli chcesz usunąć starą zdalną gałąź i utworzyć nową zdalną gałąź, Uruchom:
git push origin :old_branch new_branch
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 06:23:57
Właściwie masz trzy kroki, ponieważ lokalna gałąź ma duplikat na serwerze, więc mamy jeden krok dla lokalnej na dwóch krokach na serwerze:
-
Rename local: użyj następującego polecenia, aby zmienić nazwę bieżącej gałęzi, nawet jeśli ją sprawdziłeś:
git branch -m <old-branch-name> <new-branch-name>
-
Usuń Serwer: użyj następującego polecenia, aby usunąć starą gałąź nazw na serwerze:
git push <remote-name[origin by default]> :<old-branch-name>
-
Push the new one: Teraz nadszedł czas, aby nacisnąć nową gałąź o nazwie na serwer:
git push -u <new-branch-name>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-05 08:24:14
Git branch rename można wykonać używając:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Różnica między - m i - M :
-m: jeśli próbujesz zmienić nazwę swojej gałęzi używając -M. Spowoduje to wyświetlenie błędu stwierdzającego, że gałąź już istnieje. Musisz podać unikalne imię.
Ale,
-M: to pomoże Ci wymusić zmianę nazwy z daną nazwą, nawet jeśli jest istnieje. Tak więc istniejąca gałąź nadpisze ją w całości...
Oto przykład terminala 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$
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:23:16
Dla użytkowników Git GUI to nie może być dużo prostsze. W GUI Git wybierz nazwę gałęzi z rozwijanej listy w oknie dialogowym" Zmień nazwę gałęzi "utworzonym z menu gałąź:Zmień nazwę, wpisz nową nazwę i kliknij "Zmień nazwę". Podkreśliłem, gdzie znaleźć rozwijaną listę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-03 15:58:53
Wszystkie poprzednie odpowiedzi mówią o git branch -m
. Oczywiście, jest łatwy w obsłudze, ale dla mnie może być trochę trudno zapamiętać kolejną komendę Git. Więc starałem się wykonać pracę przez Komendę, z którą byłem zaznajomiony. Tak, można się domyślić.
Używam git branch -b <new_branch_name>
. Jeśli nie chcesz teraz zapisać starej gałęzi, możesz wykonać git branch -D <old_branch_name>
, aby ją usunąć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-28 06:53:19
Jeśli chcesz:
- Zmień nazwę repozytorium Git, Uruchom:
git branch -m <oldname> <newname>
- Usuń starą gałąź przez:
git push origin: old-name new-name
- zatwierdź go używając:
git commit <newname>
- a następnie naciśnij używając:
git push origin new_branch_name:master
- a następnie naciśnij używając:
- Jeśli chcesz sprawdzić status, użyj:
git status
- Jeśli chcesz sprawdzić to Użyj:
git checkout
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 11:16:59
Zanim zaczniemy, upewnij się, że wybrałeś gałąź, którą chcesz zmienić nazwę:
git checkout old-name
Jeśli chcesz zobaczyć wszystkie lokalne gałęzie, użyj następującego polecenia:
git branch --list
Kiedy wszystko będzie jasne, wykonaj następujące kroki:
-
Użycie polecenia git rename branch wymaga dodania opcji -M do polecenia:
git branch -m new-name
-
Możesz również zmienić nazwę lokalnej gałęzi z innej gałęzi, używając następujących dwóch polecenia:
git checkout master git branch -m old-name new-name
-
Na koniec, to polecenie wyświetli listę wszystkich - zarówno lokalnych, jak i zdalnych-gałęzi, aby sprawdzić, czy została zmieniona nazwa:
git branch -a
Chociaż nie jest możliwa bezpośrednia zmiana nazwy zdalnej gałęzi, proces jej zmiany obejmuje trzy proste kroki:
-
Aby rozpocząć, musisz zmienić nazwę lokalnej gałęzi, wykonując poprzednie kroki. 2.Następnie Usuń starą gałąź i wciśnij nowy jeden. Możesz to zrobić łatwo za pomocą następujących poleceń:
git push origin --delete old-name git push origin :old-name new-name
-
Zresetuj gałąź upstream dla nowej lokalnej gałęzi i wszystko będzie ustawione:
git push origin -u new-name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-14 05:31:29