Quelles sont les différences entre "git commit" et "git push"?

dans un tutoriel Git que je suis en train de parcourir, git commit est utilisé pour stocker les changements que vous avez faits.

dans quel cas git push est-il utilisé?

751
demandé sur Asaprab 2010-04-30 18:17:12

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:

Git data transport commands

plus d'informations à propos de git push et git pull sur GitReady.com (l'article I visé en premier)

1401
répondu tanascius 2017-06-01 12:51:02

commit : ajout de modifications au dépôt local

push : pour transférer le(S) dernier (s) commit (s) vers un serveur distant

162
répondu TheHippo 2015-04-23 17:58:05

en gros, git commit place vos modifications dans votre dossier local, tandis que git push envoie vos modifications à l'emplacement distant.

49
répondu markovuksanovic 2010-04-30 14:21:32

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.

24
répondu Michael Borgwardt 2013-03-18 05:41:04

é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.

23
répondu Justin Ethier 2010-04-30 14:20:55

git commit Enregistrez vos modifications au dépôt local .

git push " update "le dépôt distant avec vos modifications locales.

11
répondu Naresh 2015-04-23 17:56:38

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 .

9
répondu xged 2018-08-28 18:14:00

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>

4
répondu Faisal Shaikh 2016-11-27 19:52:27

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

3
répondu DEVINDER THAKUR 2018-05-16 16:08:11

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.

2
répondu amn 2018-04-26 19:11:56

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.

0
répondu Zeal Murapa 2017-06-17 21:38:22

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)

0
répondu Sai Koti 2017-12-20 07:49:19

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.

0
répondu Cibin Joseph 2018-01-15 16:43:51

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 .

-3
répondu Marcus Thornton 2014-08-12 08:56:26

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

http://gitref.org/basic ce lien sera très utile aussi

https://git-scm.com/docs/git-commit

-3
répondu oroyo segun 2016-08-01 13:19:43