Git'te orijin / master'ı nasıl silebilirim


10

Sunucumdan kaldıramıyorum origin/master. Neden olduğu hakkında bir fikrim yok.

Terminalimin ekran görüntüsü

Hata mesajı şudur

remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error: 
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error: 
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git'

Hayır, ben değil kullanarak Github .


1
Bunu neden yapmak istiyorsun? Başka şubeler var mı?
Daniel B

Gerçekten başka dallar da var (görüntünün bağlantısını kontrol edin, aslında, lütfen benim için gösterebilir misiniz?). Yeniden pazarlamak zorunda masterkaldık ve bunu şimdi olması gereken geçici bir dalda yaptık master. Tek sorun neden sunucuda ana öldüremiyorum bilmiyorum.
Atcold

2
Belki aradığınız cevabı, ancak zorla itme olabilir rebased masteriçin origin/masteretkili bir yenisi ile eskisini yerine.
SlightlyCuban

Hata mesajına ek olarak, lütfen kullandığınız komutu da gönderin.
Kyralessa

@Kyralessa, ekran görüntüsünü kontrol edin.
Atcold

Yanıtlar:


7

Eğlenceli gerçek: uzak depolar bile bir dalda. Menşeinizin şu anda "teslim alındığı" şubeyi silmeye çalıştığınız için reddediliyorsunuz.

Repoya doğrudan erişiminiz varsa, bir kabuk çıplak rapor dizinini açıp git branchşu anda hangi şube kaynağının bulunduğunu görmek için eskiyi kullanabilirsiniz . Başka bir dal olarak değiştirmek için kullanmanız gerekir git symbolic-ref HEAD refs/heads/another-branch.

Github veya Gitorious gibi bir hizmet kullanıyorsanız, değişikliği yapmak için aracın sağladığı kullanıcı arayüzünü kullanmanız gerekir ( bunu ortak araçlarda nasıl yapacağınız için bu cevaba bakın ).


Korku veren, işe yaradı ve bana daha ilgili öğrenme şans verdi refsyılında Git ! Çok teşekkür ederim! (Evet, üzerinde bununla nasıl başa biliyordu Github kişisel sunucuda değil.)
Atcold

12

Master'ı sunucudan gerçekten kaldırmak yerine, şu şekilde değiştirebilirsiniz:

git push origin otherbranch:master -f

Bu, master'ı diğer dalın içeriği ile değiştirecek, ancak yine de uzaktan kumandada master olarak adlandırılacak. Ve sonra yerel olarak master olarak master kontrol edebilirsiniz.


Tamam teşekkürler! Bir şeyleri zorlayabileceğimi biliyorum, ama tam olarak neden masterşubeyi kaldıramadığımı merak ediyordum ve kabul edilen cevap nedenini açıklıyor.
Atcold

1
+1. Bu uzaktan kumandalar / kökeni / master kötü bir ilk taahhüt silmek için tek yoluydu.
ctn
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.