Skip to content

Cum să trimiți modificări la remote cu git push — Ghid complet

DodaTech Updated 2025-01-15 3 min read

In this tutorial, you'll learn about Cum să trimiți modificări la remote cu git push. We cover key concepts, practical examples, and best practices.

În acest ghid vei învăța cum să folosești git push cu opțiunile -u, --force, --tags și --force-with-lease pentru a trimite modificări la repository-ul remote în siguranță.

The Problem

Trimiterea modificărilor la remote pare simplă, dar poți întâmpina erori de respingere, pierderi de istoric sau probleme de colaborare dacă nu folosești opțiunile corecte.

The Wrong Way

# Force push periculos
git push --force
# Rescrie istoricul colegilor fără avertisment

git push --force poate șterge commit-urile colegilor tăi și cauzează haos în echipă.

The Right Way

# Prima dată când împingi un branch nou
git push -u origin feature

# Push normal
git push

# Force push sigur
git push --force-with-lease

# Trimite și tag-urile
git push --tags

Step-by-Step Fix

1. Prima dată: setează upstream (-u)

git push -u origin feature

Output:

Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/user/repo.git
 * [new branch]      feature -> feature
Branch 'feature' set up to track remote branch 'feature' from 'origin'.

Opțiunea -u setează upstream-ul, permițând git push simplu după aceea.

2. Push normal (după -u)

git push

3. Force push sigur (--force-with-lease)

Respinge push-ul dacă remote-ul s-a schimbat de la ultima ta fetch:

git push --force-with-lease

4. Push forțat (--force)

Folosește doar când ești absolut sigur:

git push --force

5. Trimite tag-uri

# Toate tag-urile
git push --tags

# Un tag specific
git push origin v1.0.0

Output:

 * [new tag]         v1.0.0 -> v1.0.0

6. Șterge un branch remote

git push origin --delete feature-vechi

7. Push cu setări avansate

# Doar branch-ul curent
git push origin HEAD

# Toate branch-urile
git push --all

# Verificare înainte de push (dry run)
git push --dry-run

Prevention Tips

  • Setează upstream o singură dată cu -u
  • Preferă --force-with-lease în loc de --force
  • Verifică diferențele înainte de push: git diff --stat main origin/main
  • Folosește git push --dry-run pentru a testa înainte
  • Protejează branch-urile principale pe GitHub/GitLab

Common Mistakes

  1. Push fără a face pull înainte — duce la erori de non-fast-forward
  2. Force push pe branch-uri comune — șterge munca colegilor
  3. Uitarea lui --tags — tag-urile nu sunt incluse automat în push
  4. Confuzia între -u și --set-upstream — sunt același lucru

Aceste greșeli apar frecvent în lucrul cu Git. Contribuitorii DodaTech le-au identificat prin analiza proiectelor open-source și a sistemelor de producție.

Practice Exercise

Exercițiu: Creează un branch nou, fă un commit, trimite-l cu git push -u origin, apoi mai adaugă un commit și folosește git push --dry-run înainte de push-ul real.

FAQ

### Ce face git push -u?

-u (sau --set-upstream) setează branch-ul local să urmărească branch-ul remote. După aceasta, poți folosi simplu git push și git pull fără a specifica numele branch-ului.

Care este diferența dintre --force și --force-with-lease?

--force respinge orice protecție și rescrie istoricul remote. --force-with-lease verifică mai întâi dacă remote-ul s-a schimbat de la ultima ta fetch și respinge operația dacă altcineva a împins între timp.

Cum trimit tag-uri la remote?

Tag-urile nu sunt trimise automat la push. Folosește git push --tags pentru a trimite toate tag-urile, sau git push origin <nume-tag> pentru un singur tag.

Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează perfect cu Git pentru productivitate și securitate sporite.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro