Maison > outils de développement > git > Quelle est la différence entre push et pull dans git

Quelle est la différence entre push et pull dans git

WBOY
Libérer: 2022-01-07 16:26:42
original
17504 Les gens l'ont consulté

La différence entre push et pull dans git : 1. La commande "git push" envoie les dernières informations de la bibliothèque locale à la bibliothèque distante et est utilisée pour transmettre les mises à jour de la branche locale à l'hôte distant. Commande git pull" Il s'agit d'obtenir la dernière version de la bibliothèque distante vers la bibliothèque locale, qui est utilisée pour obtenir et intégrer à partir d'un autre référentiel ou d'une branche locale.

Quelle est la différence entre push et pull dans git

L'environnement d'exploitation de cet article : système Windows 10, Git version 2.30.0, ordinateur Dell G3.

Quelle est la différence entre push et pull dans git ?

git push et git pull sont une paire de commandes git qui poussent/pullent des branches.

git push utilise la branche locale correspondante pour mettre à jour la branche distante correspondante

$ git push <远程主机名> <本地分支名>:<远程分支名>
Copier après la connexion

Remarque : la branche locale dans la commande fait référence à la branche qui sera poussée vers l'extrémité distante, et la branche distante fait référence à la branche cible du push, qui est la branche locale. La branche est fusionnée avec la branche distante.

Si le nom de la branche distante est omis, cela signifie que la branche locale sera poussée vers la branche distante qui a une "relation de suivi" avec elle (généralement les deux ont le même nom. Si la branche distante n'existe pas, elle). sera créé.

$ git push origin master
Copier après la connexion

La commande ci-dessus consiste à pousser la branche principale locale vers la branche principale de l'hôte d'origine. Si ce dernier n’existe pas, il sera créé.

origine est une adresse d’usine distante.

Si le nom de la branche locale est omis, cela signifie supprimer la branche distante spécifiée, car cela équivaut à pousser une branche locale vide vers la branche distante. Cette commande supprime la branche principale distante.

$ git push origin :master
# 等同于
$ git push origin --delete master
Copier après la connexion

La commande ci-dessus signifie supprimer la branche principale de l'hôte d'origine.

S'il existe une relation de suivi entre la branche actuelle et la branche distante (c'est-à-dire que le nom de la branche est le même), la branche locale et la branche distante peuvent être omises.

$ git push origin
Copier après la connexion

La commande ci-dessus signifie pousser la branche actuelle vers la branche correspondante de l'hôte d'origine.

Si la branche actuelle n'a qu'une seule branche de suivi, le nom d'hôte peut être omis.

$ git push
Copier après la connexion

Si la branche actuelle a une relation de suivi avec plusieurs hôtes, vous pouvez utiliser l'option -u pour spécifier un hôte par défaut, afin de pouvoir utiliser git push sans ajouter de paramètres ultérieurement.

$ git push -u origin master
Copier après la connexion

La commande ci-dessus pousse la branche principale locale vers l'hôte d'origine et spécifie origin comme hôte par défaut. Vous pouvez ensuite utiliser git push sans ajouter de paramètres.

Git push sans aucun paramètre ne poussera que la branche actuelle par défaut. C'est ce qu'on appelle la méthode simple. De plus, il existe une méthode de correspondance qui poussera toutes les branches locales ayant des branches distantes correspondantes. Avant la version 2.0 de Git, la méthode de correspondance était utilisée par défaut, mais elle est désormais remplacée par la méthode simple par défaut. Si vous souhaitez modifier ce paramètre, vous pouvez utiliser la commande git config.

$ git config --global push.default matching
# 或者
$ git config --global push.default simple
Copier après la connexion

Il existe une autre situation, qui consiste à pousser toutes les branches locales vers l'hôte distant, qu'il existe ou non des branches distantes correspondantes. Dans ce cas, vous devez utiliser l'option –all.

$ git push --all origin
Copier après la connexion

La commande ci-dessus indique que toutes les branches locales seront poussées vers l'hôte d'origine.

Si la version de l'hôte distant est plus récente que la version locale, Git signalera une erreur lors du push, vous obligeant à exécuter git pull localement pour fusionner les différences avant de pousser vers l'hôte distant. À ce stade, si vous devez pousser, vous pouvez utiliser l'option --force.

$ git push --force origin
Copier après la connexion

La commande ci-dessus utilise l'option –force, qui entraîne une « fusion sans avance rapide » sur l'hôte distant. À moins que vous ne soyez absolument sûr de vouloir le faire, vous devez éviter d'utiliser l'option --force.

Enfin, git push ne poussera pas les balises à moins que l'option –tags ne soit utilisée.

$ git push origin --tags
Copier après la connexion

git pull récupère et fusionne d'autres référentiels ou d'autres branches locales.

git pull a le même objectif que l'opération git push, mais le but de l'opération est opposé. Le format de la commande est le suivant :

git pull <远程主机> <远程分支>:<本地分支>
Copier après la connexion

Par exemple :

git pull origin master:my_test
Copier après la connexion

La commande ci-dessus consiste à extraire la branche principale de la bibliothèque d'usine d'origine et à la fusionner dans la branche locale my_test.

Si vous omettez la branche locale, elle sera automatiquement fusionnée avec la branche actuelle. Comme suit :

git pull origin master
Copier après la connexion

Remarque : Si vous souhaitez participer à d'excellents projets sur github, un exemple général est fourni ci-dessous :

Tout d'abord, vous avez besoin d'un compte github et d'un dépôt qui vous intéresse.

Le processus de description suivant impliquera deux branches maîtres distantes. Pour une bonne distinction, nous appelons la branche principale forkée référentiel A distant, et la branche de ce fork est appelée référentiel B distant

$git clone <远程Arepository> #克隆你fork出来的分支
$git remote add <远程Brepository标签> git@github.com:XXXX/ceph.git #添加远程Brepository标签
$git pull <远程B厂库标签> master:master  #从远程Brepository的master分支拉取最新objects合并到本地master分支
$git checkout YYYY #切换到要修改的分支上
$git branch develop; git checkout develop #在当前分支的基础上创建一个开发分支,并切换到该分支上,你将在该分支上coding
coding...... #在工作区coding
$git add .#将修改保存到索引区
$git commit -a #将修改提交到本地分区
$git push origin my_test:my_test #将本地分支my_test提交到远程A repository的my_test分支上
Copier après la connexion

Ensuite, dans l'interface Web github, fusionnez le. my_test dans la branche du référentiel B distant que vous devez modifier. Attendez l'avis de l'administrateur. S'il y a des problèmes, continuez à apporter des modifications dans la branche de développement et validez – modifiez pour apporter des modifications à la validation précédente. Connaître par fusion.

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!

Étiquettes associées:
git
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal