it-swarm-tr.com

Yerel bir Git şubesini nasıl yeniden adlandırabilirim?

Uzak bir şubeyi, Yerel ve uzak Git havuzları için ana dalı yeniden adlandır bölümünde açıklandığı gibi yeniden adlandırmak istemiyorum.

Uzak bir şubeye itilmemiş yerel bir şubeyi nasıl yeniden adlandırabilirim?

remote branch'ı yeniden adlandırmanız gerekirse:
Hem Git yerel hem de uzak dal adını nasıl yeniden adlandırabilirim

7584
Forrest

Herhangi bir şubeye işaret ederken şubeyi yeniden adlandırmak istiyorsanız, aşağıdakileri yapın:

git branch -m <oldname> <newname>

Geçerli şubeyi yeniden adlandırmak istiyorsanız, şunları yapabilirsiniz:

git branch -m <newname>

Bunu hatırlamanın bir yolu, -m, "taşıma" (veya mvname__) içindir;.

12186
siride
git branch -m old_branch_name new_branch_name

Yukarıdaki komut dal adınızı değiştirir, ancak yeniden adlandırılmış dal kullanırken çok dikkatli olmanız gerekir, çünkü yine de, onunla ilişkili eski akış yukarı dalına atıfta bulunacaktır.

Yerel şubenizin new_branch_name (örnek adı) olarak yeniden adlandırılmasından sonra bazı değişiklikleri master'a itmek istiyorsanız:

git Push Origin new_branch_name:master (şimdi değişiklikler ana şubeye gidecek, ancak yerel şube adınız new_branch_name)

Daha fazla ayrıntı için, bkz. " Git'te yerel şube adınızı yeniden adlandırma ."

387
Madhan Ayyasamy

Mevcut şubenizi yeniden adlandırmak için:

git branch -m <newname>
283
Jonathan

Şubeyi yeniden adlandırmanın adımları şunlardır:

  1. Yeniden adlandırılması gereken şubeye geç
  2. git branch -m <new_name>
  3. git Push Origin :<old_name>
  4. git Push Origin <new_name>:refs/heads/<new_name>

EDIT (12.01.2017): git status komutunu çalıştırdığınızdan emin olun ve yeni oluşturulan dalın eskisine değil kendi referansını gösterdiğinden emin olun. Daha önceki şubeye referans bulursanız, aşağıdakileri kullanarak yukarı akış ayarını kaldırmanız gerekir:

git branch --unset-upstream
226
Milind Anantwar

Şubeniz bittiğinde şubeyi yeniden adlandırmak faydalı olacaktır. Sonra yeni şeyler geliyor ve onu silmek yerine aynı dalda geliştirmek ve yenisini oluşturmak istiyorsunuz.

Tecrübelerime göre Git'teki yerel ve uzak bir şubeyi yeniden adlandırmak için aşağıdaki adımları uygulamanız gerekir.

Birden Çok Durumdan Alıntı Yapma - Git'teki yerel ve uzak bir dalı yeniden adlandırma

1. Yerel şubenizi yeniden adlandırın

Şube üzerindeyseniz, yeniden adlandırmak istiyorsanız:

git branch -m new-name

Farklı bir şubedeyseniz:

git branch -m old-name new-name

2. Eski uzak şubeyi silin ve yeni yerel şubeye basın

git Push Origin :old-name new-name

3. Yeni ad yerel şubenin üst akış şubesini sıfırlayın

git Push Origin -u new-name
161
trungk18

Şimdiye kadar cevaplar doğru, ancak işte bazı ek bilgiler:

Biri '-m' (hareket) ile yeniden isimlendirebilir, fakat birinin dikkatli olması gerekir, çünkü '-M' zaten aynı isimde mevcut bir şube olsa bile yeniden adlandırmayı zorlar. İşte 'git-branch' man sayfasından alıntı:

> -M veya -M seçeneğiyle, <oldbranch>, <newbranch> olarak yeniden adlandırılır. <oldbranch> karşılık gelen bir refloğa sahipse, <newbranch> ile eşleşecek şekilde yeniden adlandırılır ve dalın yeniden adlandırıldığını hatırlamak için bir reflog girişi oluşturulur. <newbranch> varsa, yeniden adlandırmanın gerçekleşmesini zorlamak için -M kullanılmalıdır.

93
Vanchev

1. Yeniden adlandır

Şuanki şubeniz ise, sadece

git branch -m new_name

Başka bir dal ise, yeniden adlandırmak istediğiniz

git branch -m old_name new_name

2. Yeni bir uzak şubeyi izleyin

- Şubeniz itildiyse, yeniden adlandırdıktan sonra, onu uzak Git havuzundan silmeniz ve yeni yerel bir şubeyi takip etmesini istemeniz gerekir:

git Push Origin :old_name
git Push --set-upstream Origin new_name
77
Oss

Aptalca bir tire ile başlayan bir dal adı ve daha sonra ana teslim. Ben istemedim delete şubem, üzerinde çalıştım.

Bunların hiçbiri çalıştı:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's ve \s da yardımcı olmadı. git branch -m çalışmıyor.

İşte sonunda nasıl düzelttim. Çalışma kopyanızın .git/refs/heads dizinine gidin, "-dumb-name" dosyasının adını bulun, şubenin özetini alın. Daha sonra bu kontrol eder, akıllıca bir adla yeni bir dal oluşturur ve eskisini siler.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
66
Samuel Meacham

Bir şubeyi yerel olarak yeniden adlandırmak için:

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

Şimdi bu değişiklikleri uzak sunucunuza da yaymanız gerekecek.

Silinen eski dalın değişikliklerini itmek için:

git Push Origin :[old-branch]

Yeni şube oluşturma değişikliklerini zorlamak için:

git Push Origin [new-branch]
60
aliasav

Bu komutu kullanarak şubeyi yeniden adlandırın:

git branch -m [old_branch_name] [new_branch_name]

-m: Şubeyi yeniden adlandırır/taşır. Şube zaten varsa, bir hata alırsınız.

Bir dal zaten varsa ve o dalla yeniden adlandırmak istiyorsanız, şunu kullanın:

 git rename -M [old_branch_name] [new_branch_name]

Yardım hakkında daha fazla bilgi için terminaldeki bu komutu kullanın:

git branch --help

veya

man git branch
33

Gelişmiş Git kullanıcıları aşağıdakileri kullanarak manuel olarak yeniden adlandırabilir:

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
31
Jethik

Şubeyi yeniden adlandır:

git branch -m old_branchname new_branchname

Burada -m seçeneğinin uzun adı --move şeklindedir. Yani biz de kullanabiliriz:

git branch --move old_branchname new_branchname

Mevcut şubeyi yeniden adlandırmak istiyorsanız bunu kullanın:

git branch -m new_branchname

veya

git branch -move new_branchname

Bu değişiklikleri uzaktan kumandaya taşımak istiyorsanız, aşağıdakileri kullanın.

git Push Origin :old_branchname new_branchname

Bu old_branchname uzak dalını silecek ve new_branchname yerel dalını itecektir.

git Push Origin -u new_branchname

Bu new_branchname yerel dalı için yukarı akış dalını sıfırlar.

30
Ajmal sha
  1. Yerel şubenizi yeniden adlandırın.

Şube üzerindeyseniz, yeniden adlandırmak istiyorsanız:

git branch -m new-name

Farklı bir şubedeyseniz:

git branch -m old-name new-name
  1. Eski adı olan uzak dalı silin ve yeni adın yerel dalına basın.

git Push Origin :old-name new-name

  1. Yeni ad yerel şube için yukarı akış dalını sıfırlayın. Şubeye geçip ardından:

git Push Origin -u new-name

Veya hızlı bir şekilde bunu yapmak için şu 3 adımı kullanabilirsiniz:

# Yerel olarak şubeyi yeniden adlandır

git branch -m old_branch new_branch  

# Eski uzak şubeyi sil

git Push Origin :old_branch  

# Yeni şubeyi itin, yeni uzaktan kumandayı izlemek için yerel şubeyi ayarlayın

git Push --set-upstream Origin new_branch   

Kaynak: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

26
badarshahzad

İşte üç adım: Terminalinizin içinde arayabileceğiniz ve şube adını değiştirebileceğiniz bir komut.

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

Daha fazlasına ihtiyacınız varsa: adım adım,Git Şube Adının Değiştirilmesibu konuda iyi bir makaledir.

22

Muhtemelen diğerleri tarafından belirtildiği gibi, bu, şube isimlendirmesinde bir durum uyuşmazlığı olacaktır.

Böyle bir durum varsa, Windows'da olduğunuzu tahmin etmenizi sağlayabilirim;

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

O zaman bir ara adım yapmanız gerekir:

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

Daha fazlası değil.

21
P4C

Özellikle soruya cevap vermeye çalışıyorum (en azından başlık).

Ayrıca local dalı adını değiştirebilirsiniz, ancak uzaktan kumandadaki eski adı izlemeye devam ediyor.

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

Şimdi, git Push komutunu çalıştırdığınızda, uzak old_branch referansı yerel new_branch adresinizle güncellenir.

Bu bilmeniz ve hatırlamanız gerekir bu yapılandırma. Ancak uzak şube adı için bir seçeneğiniz yoksa, bundan hoşlanmıyor olabilirsiniz, ancak hoşunuza gitmiyor (oh, demek istediğim, çok iyi bir nedenini beğenmemek için bir nedeniniz var!) ve yerel şubeniz için daha net bir ad tercih edin.

Getirme konfigürasyonuyla oynadığınızda, yerel uzaktan referansı bile yeniden adlandırabilirsiniz. yani, dalda bir refs/remote/Origin/new_branch ref göstergesine sahip olan, aslında Origin üzerindeki old_branch. Bununla birlikte, aklınızın güvenliği için, bunu kesinlikle önermiyorum.

19

SourceTree kullanmaya istekliyseniz, kesinlikle tavsiye ederim, şubenizi sağ tıklayıp 'Yeniden Adlandır' seçeneğini belirleyebilirsiniz.

 enter image description here

17
Marcin Szymczak

Geçerli şubeyi yeniden adlandırmak için (HEAD state ayrılmış] hariç, bu diğer adı da kullanabilirsiniz:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
16
dentuzhik

Şubeyi değiştirmek locally oldukça kolaydır ...

Şube üzerindeyseniz ismini değiştirmek istiyorsanız, sadece şunu yapın:

git branch -m my_new_branch

Aksi takdirde, master veya ismini değiştirmek istediğiniz diğer şube dışındaysanız, sadece yapın:

git branch -m my_old_branch my_new_branch

Ayrıca, bunu a komut satırında komutunda eylemde göstermek için aşağıdaki resmi oluşturuyorum. Bu durumda, örneğin master dalındasınız:

 Change branch name locally

16
Alireza

Başka bir seçenek de komut satırını hiç kullanmamaktır. SourceTree gibi Git GUI istemcileri, bu gibi soruların Stack Overflow'ta en çok izlenenler arasında olmasına neden olan sözdizimsel öğrenme eğrisinin/acısının çoğunu ellerinden alır.

SourceTree'de, soldaki "Şubeler" bölmesinde herhangi bir yerel şubeye sağ tıklayın ve "Yeniden Adlandır ..." ı seçin.

15
Steve Chambers

Şubeyi uzak bir sunucuya itmek istemediğiniz için bu örnek yararlı olacaktır:

Diyelim ki "sıcak karakterim" olarak adlandırılan bir şubeniz var ve adını "15" olarak yeniden adlandırmak istiyorsunuz.

İlk önce yerel şubenizi değiştirmek istiyorsunuz. Bu daha kolay olamazdı:

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

Daha fazla bilgi için Git'teki Bir Dalın Yerel Olarak ve Uzaktan Yeniden Adlandırılması adresini ziyaret edebilirsiniz.

13
Tanah

Git sürüm 2.9.2

Bulunduğunuz yerel şubenin adını değiştirmek istiyorsanız:

git branch -m new_name

Farklı bir şubenin adını değiştirmek istiyorsanız:

git branch -m old_name new_name

Farklı bir dalın adını zaten var olan bir adla değiştirmek istiyorsanız:

git branch -M old_name new_name_that_already_exists

Not: Son komut yıkıcıdır ve şubenizi yeniden adlandıracaktır, ancak şube isminin benzersiz olması gerektiğinden eski isminizi bu isimle kaybedeceksiniz ve bu taahhütleri yerine getireceksiniz.

10
nikkypx

Geçerli dalın adını değiştirmek istiyorsanız, şunu çalıştırın:

git branch -m [old_branch] [new_branch]

Eski uzak şubeyi silmek istiyorsanız, şunu çalıştırın:

git Push Origin :[old_branch]

Eski uzak şubeyi silmek ve yeni bir uzak şube oluşturmak istiyorsanız, şunu çalıştırın:

git Push Origin :old_branch new_branch
8
Arif

Bunu yapmanın basit bir yolu:

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

Daha fazla bilgi için, bkz. this .

8
Nomade

Ad değişikliğini remote ve GitHub'da çoğaltmak için yalnızca iki adım:

1. Adım git branch -m old_branchname new_branchname

2. Adım git Push Origin :old_branchname new_branchname

7
Harry_pb
git branch -m old_branch_name  new_branch_name

veya

git branch --move old_branch_name new_branch_name
4
user128364

Git GUI kullanıcıları için daha kolay olamazdı. Git GUI’de, Şube: Yeniden Adlandır menü öğesinden oluşturulan "Şube Yeniden Adlandır" iletişim kutusundaki aşağı açılır listeden şube adını seçin, Yeni bir Ad yazın ve "Yeniden Adlandır" ı tıklayın. Aşağı açılan listeyi nerede bulacağımı vurguladım.

 Rename a local Git branch

4
user3070485

Önceki cevapların tümü git branch -m hakkında konuşuyor. Tabii ki, kullanımı kolay, ama benim için başka bir Git komutunu hatırlamak biraz zor olabilir. Bu yüzden aşina olduğum emirle yapılan işi almaya çalıştım. Evet, tahmin edebilirsin.

Ben git branch -b <new_branch_name> kullanıyorum. Eski şubeyi şimdi kaydetmek istemiyorsanız, kaldırmak için git branch -D <old_branch_name> komutunu çalıştırabilirsiniz.

Biraz sıkıcı olabileceğini biliyorum, ama anlamak ve hatırlamak daha kolay. Umarım sizin için yararlı olur.

3
Dai Kaixian

Git şubesi yeniden adlandırma kullanılarak yapılabilir:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-m ve -M arasındaki fark:

-m: /m kullanarak şubenizi mevcut bir şube adıyla yeniden adlandırmaya çalışıyorsanız. Şubenin zaten var olduğunu söyleyen bir hataya neden olacaktır. Benzersiz bir isim vermelisin.

Fakat,

-M: bu, var olsa bile, belirli bir adla yeniden adlandırmaya zorlamanıza yardımcı olacaktır. Böylece mevcut bir şube tamamen onun üzerine yazacak ...

İşte bir Git terminal örneği,

[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$
3

Eğer istersen:

  • Git deposunu yeniden adlandırın, çalıştırın: git branch -m <oldname> <newname>
  • Eski dalı sil: git Push Origin: old-name new-name
  • Kullanarak tamamlayın: git commit <newname>
    • ve ardından Basarak kullanın: git Push Origin new_branch_name:master
  • Durumu kontrol etmek istiyorsan kullan: git status
  • Çıkış yapmak istiyorsanız kullanın: git checkout
2
Vineet Jain

PhpStorm'da:

VCS → Git → Şubeler ... → Yerel Şubeler →YOUR_BRANCH→ Yeni isim ver

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

-m, tümünü [old-branch] 'den [new-branch]' a taşımak anlamına gelir ve -M'yi diğer dosya sistemleri için kullanabileceğinizi unutmayın.

0
Saad Bilal

Geçerli şubeyi yeniden adlandır

git branch -m <newbranchname>

veya

git branch -m oldbranchname newbranchname
0
panthari