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

Dans le tutoriel Git que je regarde, git commit utilisé pour stocker les modifications que vous avez apportées.

Qu'est-ce que git push ?

770
30 апр. fixé par ben le 30 avr. 2010-04-30 17:17 '10 à 17:17 2010-04-30 17:17
@ 15 réponses

En gros, git commit "écrit les modifications dans le référentiel" While git push "met à jour les liens supprimés ainsi que les objets associés." Ainsi, le premier est utilisé en connexion avec votre référentiel local, tandis que le second est utilisé pour interagir avec le référentiel distant.

Voici une belle image d' Oliver Steele qui explique le modèle git et les commandes:

2019

1442
30 апр. la réponse est donnée par tanascius le 30 avril 2010-04-30 17:20 '10 à 17:20 2010-04-30 17:20

commit : ajouter des modifications au référentiel local

border=0

push : transfère le dernier commit sur un serveur distant

169
30 апр. la réponse est donnée par TheHippo le 30 avril 2010-04-30 17:20 '10 à 17:20 2010-04-30 17:20

Eh bien, fondamentalement, git commit place vos modifications dans un dépôt local et git push les envoie à un emplacement distant.

52
30 апр. réponse donnée par markovuksanovic le 30 avril 2010-04-30 17:21 '10 à 17:21 2010-04-30 17:21

git push utilisé pour ajouter les commits que vous avez effectués dans le référentiel local à la télécommande - avec git pull , cela permet aux gens de collaborer.

25
30 апр. Réponse donnée par Michael Borgwardt le 30 avril 2010-04-30 17:20 '10 à 17:20 2010-04-30 17:20

Puisque git est un système de contrôle de version distribué, la différence réside dans le fait qu’un commit impliquera des modifications dans votre référentiel local, alors que push entraînera des modifications dans un référentiel distant.

23
30 апр. La réponse est donnée par Justin Ethier le 30 avril 2010-04-30 17:20 '10 à 17:20 2010-04-30 17:20

git commit écrit vos modifications dans le référentiel local .

git push jour le référentiel supprimé avec vos modifications locales.

12
11 авг. La réponse est donnée à Naresh le 11 août. 2013-08-11 09:20 '13 à 9:20 2013-08-11 09:20

"Enregistrer sous"} référentiels. Référentiel Git = une série (arbre) de commits (plus quelques choses supplémentaires).

Référentiel local : le référentiel sur votre ordinateur.

Référentiel distant : un référentiel sur le serveur (par exemple, Github.com).

git commit : ajoute un nouveau commit (dernier commit + modifications progressives) au référentiel local .

git push , git pull : synchronise un référentiel local avec le référentiel distant qui lui est associé. push - appliquez les modifications de local à distant , pull - appliquez les modifications de distant à local .

10
04 авг. la réponse est donnée xged 04 aug. 2016-08-04 18:59 '16 à 18h59 2016-08-04 18h59

Trois choses à noter:

1) Répertoire de travail ----- dossier dans lequel se trouve notre fichier de code

2) Référentiel local ------ Ceci est à l'intérieur de notre système. Lorsque nous créons une commande COMMIT pour la première fois, ce référentiel local est créé. où se trouve notre répertoire de travail,
Le fichier Checkit (.git) sera créé.
Ensuite, lorsque nous nous engageons, les modifications apportées au fichier du répertoire de travail dans le référentiel local (.git) sont enregistrées.

3) Référentiel distant ----- Il est situé en dehors de notre système, ainsi que sur des serveurs situés partout dans le monde. comme github. Lorsque nous exécutons la commande PUSH, les codes de notre référentiel local sont stockés dans ce référentiel distant.

4
16 мая '18 в 19:08 2018-05-16 19:08 La réponse est donnée par DEVINDER THAKUR le 16 mai '18 à 19:08 2018-05-16 19:08.

Je veux juste ajouter les éléments suivants:

Yon ne peut pas pousser tant que vous n'avez pas validé, car nous utilisons git push pour pousser les commits effectués sur votre branche locale vers le référentiel distant.

La commande git push prend deux arguments:

Nom distant, par exemple origin Nom de la branche, par exemple master

Par exemple:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. La réponse est donnée par Faisal Shaikh le 27 novembre 2016-11-27 22:52 16 au 22:52 2016-11-27 22:52

Une analogie très grossière: si nous comparons git commit à l'enregistrement du fichier édité, alors git push copiera ce fichier dans un autre emplacement.

Veuillez ne pas sortir cette analogie de ce contexte - corriger et presser n’est rien d’autre que sauvegarder et copier le fichier édité. Cependant, ceci devrait être pour la comparaison seulement.

2
04 авг. la réponse est donnée vers 04 août. 2016-08-04 21:34 '16 à 21:34 pm 2016-08-04 21:34

Il est plus facile de comprendre l’utilisation des commandes git add et commit si vous imaginez que le fichier journal est conservé dans votre référentiel sur Github. Un fichier journal de projet typique pour moi pourrait ressembler à ceci:

 ---------------- 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 généralement ma journée par une requête git pull et la termine par une requête git push . Ainsi, tout dans le journal quotidien correspond à ce qui se passe entre eux. Au cours de chaque journée, j'effectue une ou plusieurs tâches logiques nécessitant la modification de plusieurs fichiers. Les fichiers édités lors de cette tâche sont répertoriés dans l'index.

Chacune de ces sous-tâches (les tâches A et B ici) sont des commits distincts. La commande git add ajoute des fichiers à la liste "Index des fichiers modifiés". Ce processus s'appelle également staging et enregistre en fait les fichiers modifiés et les modifications apportées. La commande git commit écrit / complète les modifications et la liste d'index correspondante, ainsi qu'un message personnalisé pouvant être utilisé pour une utilisation ultérieure.

Rappelez-vous que vous ne modifiez que la copie locale de votre référentiel, et non celle de Github. Après cela, uniquement lorsque vous avez git push , toutes ces modifications enregistrées, ainsi que vos fichiers d'index pour chaque validation, sont enregistrés dans le référentiel principal (sur Github).

Par exemple, pour obtenir la deuxième entrée dans ce fichier journal imaginaire, je voudrais faire:

 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 permettent de décomposer les modifications du référentiel principal en substitutions logiques systématiques. Comme indiqué dans d'autres réponses et commentaires, ils ont certainement de nombreuses autres utilisations. Cependant, il s’agit de l’une des utilisations les plus courantes de Git, qui est un système de contrôle de version à plusieurs niveaux contrairement à d’autres systèmes populaires, tels que Svn.

0
15 янв. la réponse est donnée par Cibin Joseph le 15 janvier. 2018-01-15 09:13 '18 à 9h13

en termes simples, git commit est une étape de git push que vous exécutez dans cet ordre pour réussir à git votre fichier github.

0
18 июня '17 в 0:38 2017-06-18 00:38 la réponse est donnée par Zeal Murapa le 18 juin '17 à 0:38 2017-06-18 00:38

git commit n'est rien de plus que la sauvegarde officielle de nos modifications, pour chaque validation que nous donnons au message de validation, dès que nous avons terminé, nous pouvons le déplacer sur l'ordinateur distant pour afficher nos modifications dans le monde entier.

cela signifie que nous pouvons faire beaucoup de validations avant de les envoyer à un serveur distant (nous pouvons voir une liste des validations et des messages qui se sont produits), git enregistre chaque validation avec un identifiant de validation, qui est un code à 40 chiffres

et j'utilise git push uniquement quand je veux voir mes modifications à distance (après vérification du fonctionnement de mon code jenkins)

0
20 дек. La réponse est donnée par Sai Koti le 20 décembre. 2017-12-20 10:49 '17 à 10:49 2017-12-20 10:49

git commit consiste à valider les fichiers situés dans le référentiel local. git push - accélération du transfert de la fusion de la branche principale du côté local avec la branche principale supprimée. Mais la fusion ne réussira pas toujours. Si un échec apparaît, vous devez pull pour pouvoir faire une git push réussie avec git push .

-3
12 авг. la réponse est donnée par Marcus Thornton 12 août. 2014-08-12 11:56 14 à 11:56 2014-08-12 11:56

Eh bien, fondamentalement, git commit transfère vos modifications à un dépôt local et git push les envoie à un emplacement distant. Puisque git est un système de contrôle de version distribué, la différence réside dans le fait qu’un commit impliquera les modifications apportées à votre référentiel local, tandis que la diffusion les transmet à un référentiel distant.

source google

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

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

-3
01 авг. la réponse est donnée oroyo segun 01 août. 2016-08-01 14:51 '16 à 14h51 2016-08-01 14h51

Autres questions sur les balises ou Poser une question