În majoritatea cazurilor, este simplu să ștergeți o ramură Git. În acest articol veți afla cum să ștergeți un Git brach local și de la distanță.

TL; versiunea DR

// delete branch locally
git branch -d localBranchName

// delete branch remotely
git push origin --delete remoteBranchName

Când să ștergeți ramurile

Este obișnuit ca un Git repo să aibă ramuri diferite. Acestea sunt o modalitate excelentă de a lucra la diferite caracteristici și remedieri, izolând în același timp noul cod de baza de cod principală.

Repozitele au adesea un master ramură pentru baza de cod principală și dezvoltatorii creează alte ramuri pentru a lucra la diferite caracteristici.

Odată ce lucrul la o funcție este finalizat, se recomandă adesea ștergerea sucursalei.

Ștergerea unei sucursale LOCAL

Git nu vă va permite să ștergeți sucursala pe care vă aflați în prezent, deci trebuie să vă asigurați că verificați o sucursală pe care NU o ștergeți. De exemplu: git checkout master

Ștergeți o ramură cu git branch -d <branch>.

De exemplu: git branch -d fix/authentication

-d opțiunea va șterge ramura numai dacă a fost deja împinsă și fuzionată cu ramificarea la distanță. Utilizare -D în schimb, dacă doriți să forțați ramificarea să fie ștearsă, chiar dacă nu a fost încă împinsă sau fuzionată.

Sucursala este acum ștearsă local.

Ștergerea unei ramuri de la distanță

Iată comanda pentru a șterge o ramură de la distanță: git push <remote> --delete <branch>.

De exemplu: git push origin --delete fix/authentication

Sucursala este acum ștearsă de la distanță.

De asemenea, puteți utiliza această comandă mai scurtă pentru a șterge o ramură de la distanță: git push <remote> :<branch>

De exemplu: git push origin :fix/authentication

Dacă primiți eroarea de mai jos, poate însemna că altcineva a șters deja sucursala.

error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to 'git@repository_name'

Încercați să vă sincronizați lista de sucursale folosind:

git fetch -p

-p steag înseamnă „prune”. După preluare, ramurile care nu mai există pe telecomandă vor fi șterse.