In Git, una filiale è solo un elenco ordinato di commit (ovvero: checkin). Qualcosa che può essere un po 'confuso per i nuovi utenti è che le filiali non hanno bisogno di avere un nome (sebbene nella maggior parte dei casi tu ne voglia uno); e non c'è nulla di particolarmente speciale in ogni particolare ramo (il masterramo è solo quello predefinito creato per te quando si inizializza un repository).
Probabilmente lo sai già, ma Git è diverso da alcuni altri sistemi di controllo della versione come il popolare "Subversion", perché ogni "copia di lavoro" (in linguaggio Subversion) è un repository a parte ... in realtà, non c'è nulla di particolarmente speciale su qualsiasi copia particolare; salvo che una copia è stata generalmente concordata come quella "canonica" utilizzata per conservare il prodotto finale.
Quindi, tornando alla tua domanda ... il repository "canonico" che hai clonato quando hai avviato la tua copia locale conteneva un ramo "master" per impostazione predefinita; ed è bloccato in giro. Ora, se si avesse accesso al computer che contiene il repository principale, è possibile accedere ed eseguire:
git branch -d master
Tuttavia, se non sei in grado di farlo, puoi comunque farlo dal tuo computer locale. Il git branchcomando ha -run'opzione che influenza il repository remoto. In altre parole, dovrebbe funzionare il seguente comando:
git branch -d -r master
Si noti che in entrambi i casi; Suppongo che mastersia stato completamente unito alla storia dello sviluppo in cui si trova attualmente la tua copia locale. Se non hai mai usato masterprima (ovvero: hai mai effettuato il check-in developmento production), non hai nulla di cui preoccuparti. Tuttavia, se tu (o qualcun altro) hai controllato le cose master, potresti avere un problema. È possibile forzare un'eliminazione modificando -din -Dnei comandi precedenti; ma consiglio vivamente di controllare per vedere cosa c'è in masteranticipo! Se non hai accesso al computer remoto, probabilmente non sarai in grado di recuperarlo!
A proposito; se tu (o chiunque altro) sei nuovo di Git, consiglio vivamente di leggere Git dal Bottom Up di John Wiegley . Anche se avevo usato Git un po 'da solo prima di trovare questo articolo, non ho davvero capito come funzionasse fino a quando non l'ho letto. È abbastanza utile!
git branch -d -r masternon cancella più il ramo remoto, ma elimina la conoscenza del ramo remoto della tua copia locale. La prossima voltagit fetch, il ramo tornerà! Invece, ti consigliamo di correregit push origin :master. In sostanza quello che stai facendo qui è di spingere un ramo null (il nome del ramo vuoto a sinistra del:) sopra il ramo remoto (il nome del ramo sul lato destro del:), eliminandolo efficacemente.