2015-07-14 27 views
6

La situazione è simile a questo:Quando è possibile cancellare un ramo locale?

ho creato filiali remote da altri sviluppare remoto ramo -> inverosimile che a quello locale -> apportato alcune modifiche ->git add ->git commit -> spinto a richiesta di pull a distanza e fatta.

La richiesta di pull è ancora lì e il ramo non è ancora stato unito.

È sicuro eliminare il ramo locale che non è ancora stato unito?

Non voglio avere molti rami locali di cui non ho più bisogno.

risposta

5

È tecnicamente possibile eliminare una filiale locale dopo averla inviata a una filiale remota, in quanto è sempre possibile recuperare le modifiche dal ramo remoto, anche se la richiesta di pull non è ancora unita.

Tuttavia, attendo fino a quando la richiesta di pull non viene effettivamente unita. L'idea alla base di avere richieste pull, al contrario di consentire a chiunque di unire semplicemente ciò che vogliono, è di consentire un ciclo di feedback tra lo sviluppatore e il manutentore del progetto. A seconda dell'etichetta del progetto e del livello di fiducia che il maintainer ha nei tuoi confronti, potrebbero essere necessari diversi roundtrip di miglioramenti prima che le richieste di pull vengano unite. Eviterei il fastidio di dover ricreare ogni volta il ramo locale e lasciarlo lì e lavorarci finché la richiesta non viene finalmente unita.

+1

grazie, questo è stato molto utile, esattamente quello che stavo cercando di scoprire – Phar0x

1

È possibile eliminare la filiale locale dopo aver trasferito le modifiche nel proprio repository remoto.

La richiesta pull non è correlata a questo, perché è semplicemente una richiesta ai manutentori del repository originale per unire nuovamente le modifiche nel loro codebase. Per questo, hanno bisogno di accedere al tuo repository remoto, ma ovviamente non ai tuoi file locali.

1

Il telecomando avrà tutti gli oggetti commit che contengono il lavoro, quindi è possibile rimuovere il ramo locale, anche se perché preoccuparsi?

I rami sono estremamente leggeri (essendo solo 40 byte puntatori nel repository all'oggetto commit). Il tuo repository e l'esterno avranno gli stessi oggetti commit e, se dovessi eseguire un ulteriore lavoro prima che la richiesta di pull venga accettata, avrai un lavoro più facile trasferirti nella tua filiale locale piuttosto che se lo elimini e debba scendere il tuo cambiamento e risolvilo.

+0

non importa se la richiesta pull non è stata ancora accettata, ogni volta che inizio a lavorare su alcune funzionalità o bugfix ho bisogno di creare un nuovo ramo da sviluppo remoto, quindi dopo aver spinto il mio ramo non ne ho più bisogno localmente. è solo questione semplice del mio piccolo OCD – Phar0x

+0

So tutto di OCD :-) –