Maison  >  Article  >  outils de développement  >  Quelle est la différence entre commit et push sous git ?

Quelle est la différence entre commit et push sous git ?

青灯夜游
青灯夜游original
2021-11-26 14:21:4722020parcourir

Différence : 1. La commande "git commit" consiste à soumettre les fichiers modifiés localement à la bibliothèque locale, tandis que la commande "git push" consiste à envoyer les dernières informations de la bibliothèque locale à la bibliothèque distante 2. "git commit ; " Commande La bibliothèque locale est exploitée, tandis que la commande "git push" exploite la bibliothèque distante.

Quelle est la différence entre commit et push sous git ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, Git version 2.30.0, ordinateur Dell G3.

La différence entre "git commit" et "git push"

git commit est "l'enregistrement des modifications dans le référentiel", qui consiste à soumettre les fichiers modifiés localement à la bibliothèque locale ; Et git push consiste à "mettre à jour les références distantes et les objets associés", ce qui consiste à envoyer les dernières informations de la bibliothèque locale à la bibliothèque distante. git commit是"记录对存储库的更改",是将本地修改过的文件提交到本地库中;而git push是"更新远程引用和相关对象",是将本地库中的最新信息发送给远程库。

因此,git commit用于连接本地存储库,操作的是本地库;而git push用于与远程存储库交互,操作的是远程库。

下面是奥利弗·斯蒂尔的一张很好的图片,它解释了Git模型和命令:

Quelle est la différence entre commit et push sous git ?

<span style="font-size: 18px;"><strong>Git commit</strong></span>

git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,

 commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.

1、git commit -m ‘message’

-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message,

message即是我们用来简要说明这次提交的语句。

2、git commit -am ‘message’ -am等同于-a -m

-a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,

注意: 新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。

<span style="font-size: 18px;"><strong>Git push</strong></span>

在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。

git push的一般形式为 git push ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。

1、git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

2、git push origin :refs/for/master

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master

3、git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

4、git push

Par conséquent, git commit est utilisé pour se connecter au référentiel local et exploite la bibliothèque locale ; et git push est utilisé pour interagir avec le référentiel distant et exploiter la bibliothèque distante ; .

Voici une bonne photo d'Oliver Steele expliquant le modèle et les commandes Git :

Quelle est la différence entre commit et push sous git ?

🎜🎜Git commit🎜🎜🎜🎜git commit Soumettre principalement les modifications dans la zone de préparation au référentiel local. Chaque fois que nous utilisons la commande git commit, nous générerons une valeur de hachage à 40 chiffres dans le référentiel local. Cette valeur de hachage est également appelée commit-id 🎜🎜 Commit-id est très utile lors de la restauration de la version. to Un instantané qui peut être renvoyé ici à tout moment dans le futur via la commande combinée avec le paramètre git reset 🎜🎜1 git commit -m 'message'🎜🎜-m signifie que vous pouvez. entrez directement le "message" suivant, si vous n'ajoutez pas le paramètre -m, vous ne pouvez pas saisir directement le message. Au lieu de cela, un éditeur, généralement vim, sera appelé pour vous permettre de saisir le message 🎜🎜message est la déclaration que nous avons. utiliser pour décrire brièvement cette soumission. 🎜🎜2. git commit -am 'message' -am est équivalent à -a -m🎜🎜-un paramètre peut valider tous les fichiers des fichiers suivis qui sont modifiés ou supprimés dans les entrepôts locaux, même s'ils n'ont pas été ajoutés à la zone de transit via git add, 🎜🎜Remarque : les fichiers nouvellement ajoutés (c'est-à-dire les fichiers non gérés par le système git) ne peuvent pas être soumis à l'entrepôt local. 🎜🎜🎜🎜Git push🎜🎜🎜🎜Après avoir utilisé la commande git commit pour valider les modifications de la zone de transit vers le référentiel local, seule la dernière étape reste à faire transférer la version locale La branche de la bibliothèque est poussée vers la branche correspondante sur le serveur distant. Si vous ne connaissez pas la structure de la bibliothèque de versions, vous pouvez consulter mon autre article, la structure de base de l'entrepôt git. 🎜🎜 La forme générale de git push est git push <nom d distant> <nom de branche locale> <nom de branche distante></nom></nom></nom>, par exemple git push origin master : refs/for/master, qui consiste à pousser la branche principale locale vers la branche principale correspondante sur l'origine de l'hôte distant, où origin est le nom de l'hôte distant. Le premier maître est le nom de la branche locale et le deuxième maître est le nom de la branche distante. 🎜🎜1. git push origin master🎜🎜Si la branche distante est omise, comme ci-dessus, cela signifie pousser la branche locale vers la branche distante avec une relation de suivi (généralement les deux ont le même nom), si la branche distante Si elle n'existe pas, elle sera créée🎜🎜2. git push origin: refs/for/master🎜🎜Si le nom de la branche locale est omis, cela signifie supprimer la branche distante spécifiée. branch, car cela équivaut à pousser une branche vide. La branche locale vers la branche distante équivaut à git push origin –delete master🎜🎜3, git push origin🎜🎜S'il existe une relation de suivi entre la branche la branche actuelle et la branche distante, la branche locale et la branche distante peuvent être omises, poussez la branche actuelle vers la branche correspondante de l'hôte d'origine 🎜🎜4 git push🎜🎜Si la branche actuelle. n'a qu'une seule branche distante, le nom d'hôte peut être omis, et sous la forme de git push, vous pouvez utiliser git branch -r, afficher le nom de la branche distante🎜🎜Apprentissage recommandé : "🎜Tutoriel Git🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn