Git deposunda şube adını değiştirme


295

Git deposunda var olan bir dalı nasıl yeniden adlandırabilirim?

Mevcut şubenin yeni bir isme sahip olmasını istiyorum.


2
@Alex yanıtını kabul edin veya neden kabul etmek istemediğinizi söyleyin.
Charlie Parker

1
@CharlieParker Muhtemelen bunun Alex'in tek sorusu olduğu gerçeğiyle bir ilgisi var ve muhtemelen şu tarihten beri giriş yapmamıştır: "Son görülme tarihi 3 Şubat '21: 29'da"
sarı aziz

13
@ JB OMG ona bir şey olmuş olabileceğini mi söylüyorsun ??? !!!!!!!!!
abbood

1
Buna yüksek oy alan cevap kabul edilebilir mi?
Steve Chambers

Yanıtlar:


465

Şu anda yeniden adlandırmak istediğiniz şubede olduğunuzu varsayarsak:

git branch -m newname

Bu kılavuzu belgelenmiştir git-branchkullanmakta görüntüleyebilir,

man git-branch

veya

git help branch

Özellikle, komut

git branch (-m | -M) [<oldbranch>] <newbranch>

burada parametreler:

   <oldbranch>
       The name of an existing branch to rename.

   <newbranch>
       The new name for an existing branch. The same restrictions as for <branchname> apply.

<oldbranch> geçerli dalı yeniden adlandırmak istiyorsanız, isteğe bağlıdır.


10
Ya git branch -m other-branch renamed-other-branchda değilsen.
mipadi

32
Ayrıca, eski dalı uzaktan kumandaya ittiyseniz, ile silebilirsiniz git push origin :branchname. Bu, yenisini itmenize ve eskisini silmenize, esas olarak uzaktan kumandada yeniden adlandırılmasına izin verecektir.
Jonathan

1
mipadi, yeni dalı oluşturur ve öncekini silmez.
Mohammad Arif

git branch (-m | -M) [<oldbranch>] <newbranch> Benim için çalışmadı, sözdizimi hatası veriyor.
Mohammad Arif

@MohammedArif ile -m, bu yeniden adlandırır o kadar, eski şube gelmez öncekinineredeyse silin.
Richard Fearn

177

Şu anda yeniden adlandırmak istediğiniz şubedeyseniz:

git branch -m new_name 

Veya:

git branch -m old_name new_name 

Şunları kontrol edebilirsiniz:

git branch -a

Gördüğünüz gibi, sadece yerel ad Şimdi değiştirildi, uzaktan kumandadaki adı da değiştirmek için yapmanız gerekenler:

git push origin :old_name

Bu, dalı kaldırır ve ardından yeni adla yükleyin:

git push origin new_name

Kaynak: https://web.archive.org/web/20150929104013/http://blog.changecong.com:80/2012/10/rename-a-remote-branch-on-github


13
Bence bu doğru cevap, Richard Feam'in çok oy alan cevabı sadece yerel repoyu, bu uzaktan kumandayı kapsıyor.
user1145404

4
Yukarıdaki yorumu kabul ettiğimde, bu cevap benim durumumda daha eksiksizdi. Ayrıca, bu cevabın tüm adımlarını yaptıktan sonra uzak şubeye ek taahhütlerde bulunduğumda git, old_nameşubeye tekrar itmeyi denedi . Neyse ki, git de komut satırında bir düzeltme temin: git-branch --unset-upstream. Bundan sonra, itilen tüm taahhütler new_nameuzak şubeye gitti .
Hans Roerdinkholder

2
dikkat edin bu şekilde itmek için fakülte kaybetti git pushçünkü bir uyarı WHI diyor ki bunu çözmek Your branch is based on 'old_name, but the upstream is gone.A. git push -u origin new_name
netalex
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.