git archive în Git

Exportă codul dintr-un commit sau dintr-o ramură într-o arhivă ZIP sau tar.gz curată, fără directorul .git.

Sintaxă comandă
git archive [opțiuni] ramură_sau_etichetă

Ce face git archive

Când vrei să trimiți codul sursă unui client sau să pregătești un pachet de distribuție pentru producție, nu este de dorit să incluzi directorul masiv .git/ cu tot istoricul.

Comanda git archive generează o arhivă curată care conține strict fișierele din versiunea specificată, respectând eventualele reguli din fișierul .gitattributes (cum ar fi export-ignore).

Opțiuni și argumente

Opțiune / Parametru Descriere
--format=FORMAT Formatul arhivei: zip sau tar (ori tar.gz).
-o, --output=NUME Calea și numele fișierului rezultat.
--prefix=DIRECTOR/ Adaugă un director rădăcină în interiorul arhivei.

Exemple

Exemplul 1: Generarea unei arhive ZIP de distribuție

Exportăm versiunea main direct într-un fișier arhivat.

git init -b main demo_arc >/dev/null
cd demo_arc
git config user.name "Test" && git config user.email "test@exemplu.ro"
echo "cod curat" > app.py
git add app.py && git commit -m "init" >/dev/null
git archive --format=zip -o proiect.zip main
unzip -l proiect.zip | grep "app.py"

Rezultat

       10  10-22-2026 23:40   app.py

Greșeli frecvente

  • Presupunerea că git archive include fișierele neurmărite sau modificate nesalvate: comanda arhivează EXCLUSIV fișierele salvate într-un commit.

Comenzi înrudite

  • git tag: Creează, listează, șterge sau verifică etichete de versiune (release tags) care marchează puncte cheie din istoric.