Qu'est-ce que Git Push ?
Git Push est la commande Git de base qui transmet les blocs de code, l'historique des validations et les objets validés dans votre environnement de développement local vers un serveur Git distant et met à jour la branche distante.
1. Définition et modèle de données à 4 niveaux de Git
Git est un système de contrôle de version distribué (DVCS). Dans cette architecture, les modifications de code transitent par 4 espaces de travail différents jusqu'à ce qu'elles atteignent un serveur distant :
[Çalışma Dizini] ──git add──> [Staging / Index] ──git commit──> [Yerel Depo] ──git push──> [Uzak Depo]
(Working Directory) (Hazırlık Alanı) (.git veritabanı) (GitHub/GitLab)- Répertoire de travail : zone de code dynamique dans laquelle vous organisez les fichiers.
- Zone de transit/index : les modifications que vous sélectionnez pour être incluses dans le prochain commit avec git add.
- Dépôt local : points de contrôle scellés en permanence dans le répertoire .git sur votre propre disque avec git commit.
- Dépôt distant : le serveur central où vos coéquipiers peuvent voir avec git push et où les lignes CI/CD seront déclenchées.
Lorsque git push est exécuté, non seulement les différences de texte sont envoyées ; Les objets Commit, Tree et Blob dans la base d'objets de Git sont transférés vers le serveur distant sous forme de fichier de package compressé et la référence de branche distante est avancée.
2. Modèles de commandes les plus fréquemment utilisés (Cheatsheet)
Soumettre une branche et se connecter en amont pour la première fois
git push -u origin feature/authL'indicateur -u ou --set-upstream relie en permanence votre branche locale à la branche distante. Après cet appariement, il vous suffit de taper git push ou git pull dans la même branche.
Envoi forcé sécurisé : --force-with-lease
git push --force-with-leaseLorsque le push standard est rejeté après git commit --amend ou git rebase, l'utilisation de git push -f peut supprimer les commits de vos coéquipiers sur le serveur. --force-with-lease est un verrou de sécurité qui permet l'écrasement uniquement si personne d'autre ne s'est engagé dans cette branche après vous.
Suppression d'une branche distante et de balises
git push origin --delete eski-ozellik-dali
git push origin --tags3. Erreurs et solutions Git Push les plus courantes
- fatal : [rejeté - non-avance rapide] : il y a des validations dans la branche distante qui ne sont pas encore disponibles dans votre branche locale. Pour la solution, git pull --rebase origin <branch> puis git push doit être effectué.
- fatal : La branche courante n'a pas de branche amont : La contrepartie distante de la branche n'est pas définie. Solution : git push -u origin HEAD.
- distant rejeté : hook de pré-réception refusé : bloqué en raison d'une règle de branche protégée ou d'autorisations manquantes ; La Pull Request (PR) doit être ouverte au lieu d’une poussée directe.
Questions et réponses
Que signifie git push et que fait-il ?
Git Push est la commande de base qui synchronise les référentiels distants avec l'état local en téléchargeant les validations terminées sur votre ordinateur local vers des serveurs distants tels que GitHub, GitLab ou Bitbucket.
Que signifie le -u dans la commande principale git push -u origin ?
L'indicateur -u (--set-upstream) établit une connexion de suivi entre la branche locale et la branche distante. Ainsi, la prochaine fois, vous pourrez simplement taper git push sans spécifier la cible.
Pourquoi --force-with-lease devrait-il être utilisé à la place de git push -f ?
git push -f supprime définitivement les modifications apportées par d'autres dans le référentiel distant sans les vérifier. --force-with-lease protège le code des coéquipiers en autorisant l'écrasement uniquement si la branche est dans l'état dans lequel vous avez extrait la dernière fois.
Comment résoudre l’erreur de non-avance rapide ?
Cela se produit car les nouveaux commits dans le référentiel distant ne sont pas encore disponibles dans votre référentiel local. Pour la solution, les commits doivent être mis à jour en exécutant git pull --rebase origin <branch> puis git push doit être refait.
Termes liés
Outils liés
Cette explication a été rédigée en langage clair pour TreScout avec l’IA puis traduite automatiquement depuis l’original turc · la version turque fait foi. Si quelque chose vous semble erroné ou manquant, écrivez à hello@trescout.com. Lire en turc →