2016-03-02 29 views
14

Quando so che non userò più un ramo è possibile chiuderlo o bloccarlo? In realtà vorrei chiudere un ramo ma non credo sia possibile chiudere un ramo con GIT. che dire dell'eliminazione. Cosa succede alla mia storia quando elimino un ramo?come chiudere una filiale in git

+0

@FarhadFaghihi accettato significa che il richiedente l'ha considerata la risposta più utile a lui o lei, non che sia la più benvenuta. –

risposta

18

risposta Aggiornato

Come @user3159253 affermato nei commenti di questa risposta:

git garbage-raccoglie commit che non si fa riferimento, direttamente o indirettamente, da un riferimento di nome (ramo, tag , eccetera). Ecco perché è importante lasciare un riferimento a un ramo congelato.


è possibile contrassegnare la punta del ramo archiviando esso, e quindi eliminare il ramo.

git tag archive/<branchname> <branchname> 
git branch -d <branchname> 
git checkout master 

La filiale sarà cancellato, e può essere recuperato successivamente controllando il tag, e ricreare il ramo.

git checkout archive/<branchname> 
git checkout -b new_branch_name 

O più semplicemente:

git checkout -b new_branch_name archive/<branchname> 
+0

Perché non 'git checkout -b new_branch_name archive/'? – PetSerAl

+0

anche questo ha senso. –

+1

Vorrei aggiungere una spiegazione che git garbage-collects esegue commit che non sono referenziati, direttamente o indirettamente, da un riferimento denominato (branch, tag, ecc.). Ecco perché è importante lasciare un riferimento a un ramo congelato. I tag – user3159253

1

è possibile fare riferimento a git finding unmerged branches per trovare quelli ramo che sono state fuse o meno.

Se un ramo è stato fuso in un altro ramo, è possibile eliminarlo utilizzando il comando follwing.

git branch -D branch_name

+2

Perché il voto negativo? Questa risposta è errata? È pericoloso eliminare un ramo che è stato fuso in un altro ramo? Perché? – Barzee

0

Se si desidera eliminare completamente un ramo, si può semplicemente eliminarlo in tutti i repository (tipicamente locali e remoti). git lo ripulirà la prossima volta che raccoglierà i rifiuti.

Vedere How do I delete a Git branch both locally and remotely? per istruzioni.