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 master
ramo è 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 branch
comando ha -r
un'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 master
sia stato completamente unito alla storia dello sviluppo in cui si trova attualmente la tua copia locale. Se non hai mai usato master
prima (ovvero: hai mai effettuato il check-in development
o 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 -d
in -D
nei comandi precedenti; ma consiglio vivamente di controllare per vedere cosa c'è in master
anticipo! 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 master
non 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.