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
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 mv
name__) içindir;.
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 ."
Mevcut şubenizi yeniden adlandırmak için:
git branch -m <newname>
Şubeyi yeniden adlandırmanın adımları şunlardır:
git branch -m <new_name>
git Push Origin :<old_name>
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
Ş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
Şube üzerindeyseniz, yeniden adlandırmak istiyorsanız:
git branch -m new-name
Farklı bir şubedeyseniz:
git branch -m old-name new-name
git Push Origin :old-name new-name
git Push Origin -u new-name
Ş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.
Ş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
- Ş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
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
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]
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
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
Ş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.
Şube üzerindeyseniz, yeniden adlandırmak istiyorsanız:
git branch -m new-name
Farklı bir şubedeyseniz:
git branch -m old-name new-name
git Push Origin :old-name new-name
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
İş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.
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.
Ö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.
SourceTree kullanmaya istekliyseniz, kesinlikle tavsiye ederim, şubenizi sağ tıklayıp 'Yeniden Adlandır' seçeneğini belirleyebilirsiniz.
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'
Ş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:
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.
Ş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.
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.
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
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 .
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
git branch -m old_branch_name new_branch_name
veya
git branch --move old_branch_name new_branch_name
Ö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.
Git şubesi yeniden adlandırma kullanılarak yapılabilir:
git branch -m oldBranch newBranch
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$
Eğer istersen:
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
PhpStorm'da:
VCS → Git → Şubeler ... → Yerel Şubeler →YOUR_BRANCH→ Yeni isim ver
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.
Geçerli şubeyi yeniden adlandır
git branch -m <newbranchname>
veya
git branch -m oldbranchname newbranchname