Quelles sont les différences entre "git commit" et "git push"?
15 réponses
en gros git commit
" enregistre les modifications apportées au référentiel ", alors que git push
" mises à jour à distance refs ainsi que les objets ". Si le premier est utilisé dans le cadre de votre dépôt local, tandis que le dernier est utilisé pour interagir avec un dépôt distant.
Voici une belle photo de Oliver Steele , qui explique le modèle git et les commandes:
plus d'informations à propos de git push
et git pull
sur GitReady.com (l'article I visé en premier)
commit : ajout de modifications au dépôt local
push : pour transférer le(S) dernier (s) commit (s) vers un serveur distant
en gros, git commit place vos modifications dans votre dossier local, tandis que git push envoie vos modifications à l'emplacement distant.
git push
est utilisé pour ajouter des commits que vous avez fait sur le dépôt local à un distant - avec git pull
, il permet aux gens de collaborer.
étant donné que git est un système de contrôle de version distribué, la différence est que commit propagera les modifications dans votre dépôt local, tandis que push poussera les modifications jusqu'à une mise à jour à distance.
git commit
Enregistrez vos modifications au dépôt local .
git push
" update "le dépôt distant avec vos modifications locales.
Commit : {Instantané | Changeset | Historique | Version | 'Enregistrer sous'} d'un référentiel. Git repository = série (arbre) de s'engage (plus quelques choses en plus).
dépôt local : dépôt sur votre machine.
Dépôt À Distance dépôt: dépôt sur un serveur (par exemple Github ).
git commit
: Ajouter un nouveau commit (dernier commit + modifications" échelonnées ) au Local dépôt.
git push
, git pull
: synchroniser le dépôt local avec un dépôt distant . push
- remplacer local par remote , pull
- remplacer à distance en local .
je veux juste ajouter les points suivants:
Yon ne peut pas pousser jusqu'à ce que vous commettiez car nous utilisons git push
pour pousser les propagations faites sur votre branche locale vers un dépôt distant.
la commande git push
prend deux arguments:
un nom distant, par exemple, origin
Un nom de branche, par exemple master
par exemple:
git push <REMOTENAME> <BRANCHNAME>
trois choses à noter:
1) Répertoire de Travail ----- dossier où nos codes de fichier sont présents
2) dépôt local ------ C'est dans notre système. Lorsque nous avons le temps de faire
COMMIT command alors ce dépôt Local est créé.
au même endroit où se trouve notre répertoire de travail,
Checkit ( .git ) fichier créé.
Après cela, quand nous nous engageons , cela permettra de stocker les
modifications que nous faisons dans le fichier du répertoire de travail pour
dépôt local (.git)
3) Dépôt À Distance - - - - Ceci est situé en dehors de notre système comme sur les serveurs situés n'importe où dans le monde . comme github. Lorsque nous effectuons la commande PUSH, les codes de notre local référentiel stockés à ce Dépôt Distant
une analogie très grossière: si nous comparons git commit
à la sauvegarde d'un fichier édité, alors git push
serait la copie de ce fichier à un autre endroit.
S'il vous plaît ne sortez pas cette analogie de ce contexte -- commettre et pousser n'est rien comme enregistrer un fichier édité et le copier. Cela dit, cela ne devrait être valable qu'à des fins de comparaison.
en termes simples, git commit
est l'étape avant git push
vous les exécutez dans cet ordre pour réussir à git votre fichier à github.
git commit n'est rien, mais pour sauver notre changement officiellement, pour chaque livraison nous donner le message de validation, une fois que nous en avons fini avec les commits, nous pouvons le pousser à distance pour voir notre changement à l'échelle mondiale
ce qui signifie que nous pouvons faire de nombreuses propagations avant de pousser à distance (nous pouvons voir la liste des propagations se produire et les messages aussi) git sauve chaque commit avec un identifiant de commit qui est un code à 40 chiffres
et j'utilise git push seulement quand je voulais voir mon changement dans distance (après je vais vérifier si mon code a travaillé dans jenkins)
Il est plus facile de comprendre l'utilisation des commandes git add
et commit
si vous imaginez un fichier journal, conservé dans votre repository sur Github.
Un fichier journal de projet typique pour moi peut ressembler à:
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
je commence habituellement ma journée avec une demande git pull
et je la termine avec une demande git push
. Donc, tout ce qui se trouve dans le journal d'une journée correspond à ce qui se passe entre eux. Chaque jour, il y en a un ou plusieurs tâches logiques que je complète qui nécessitent de changer quelques fichiers. Les fichiers édités au cours de cette tâche sont listés dans un index.
chacune de ces sous-tâches(tâche A et tâche B ici) sont des propagations individuelles. La commande git add
ajoute des fichiers à la liste' Index des fichiers modifiés'. Ce processus est également appelé mise en scène et dans la réalité les dossiers modifiés et les changements effectués. La commande git commit
enregistre / finalise les modifications et l'index correspondant liste avec un message personnalisé qui peut être utilisé pour référence ultérieure.
rappelez-vous que vous changez toujours la copie locale de votre dépôt et pas celle sur Github. Après cela, ce n'est que lorsque vous faites un git push
que toutes ces modifications enregistrées, ainsi que vos fichiers index pour chaque propagation, sont enregistrées dans le dépôt principal(sur Github).
par exemple, pour obtenir la seconde entrée dans ce fichier journal imaginaire, j'aurais fait:
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
en un mot, git add
et git commit
vous permet de décomposer un changement au dépôt principal en sous-changements logiques systématiques. Comme d'autres réponses et commentaires l'ont souligné, il y a bien sûr beaucoup plus d'utilisations pour eux. Cependant, c'est l'une des utilisations les plus courantes et un principe moteur derrière Git étant un système de contrôle de révision multi-étapes contrairement à D'autres populaires comme Svn.
git commit
, c'est commettre les fichiers que est mis en scène dans le local des pensions. git push
est de fusionner rapidement la branche principale du côté local avec la branche principale distante. Mais la fusion ne réussira pas toujours. Si le rejet apparaît, vous devez pull
de sorte que vous pouvez faire un succès git push
.
en gros, git commit place vos modifications dans votre dossier local, tandis que git push envoie vos modifications à l'emplacement distant. Puisque git est un système de contrôle de version distribué, la différence est que commit propagera les changements dans votre dépôt local, alors que push poussera les changements jusqu'à un rapport distant
source Google