Maison  >  Article  >  Est-ce que git pull écrasera le code modifié localement ?

Est-ce que git pull écrasera le code modifié localement ?

zbt
zbtoriginal
2023-06-20 17:13:449394parcourir

git pull écrasera le code modifié localement, mais seulement s'il y a un conflit entre le code local et le code distant. Afin d'éviter que les modifications locales ne soient écrasées, nous pouvons soumettre des modifications locales, cacher les modifications locales ou désactiver la fusion automatique.

Est-ce que git pull écrasera le code modifié localement ?

1. Le rôle de git pull

Avant de discuter en profondeur si git pull écrasera les modifications locales , Nous devons d'abord comprendre le rôle de git pull.

git pull est une combinaison des deux commandes git fetch et git merge. Il extraira le dernier code de l'entrepôt distant puis le fusionnera avec le code local.

2. Le comportement de git pull

Le comportement réel de git pull dépend de la configuration actuelle de git et des conflits de code.

1. Par défaut

Par défaut, s'il n'y a pas de conflit entre le code local et le code distant, alors git pull effectuera avec succès la fusion de code et n'écrasera pas les modifications locales.

git pull

2. Conflit de code à distance

Si le code dans l'entrepôt distant est en conflit avec le code local, alors git pull essaiera de fusionner automatiquement les différences, mais il n'y a pas garantie de réussite.

Si la fusion automatique échoue, git pull vous demandera de résoudre manuellement le conflit avant de valider les modifications.

git pull
Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
Automatic merge failed; fix conflicts and then commit the result.

3. Conflits de code local

Si vous modifiez le code localement mais ne le soumettez pas, git pull écrasera vos modifications locales.

Dans ce cas, git pull vous indiquera qu'il y a un conflit local, vous permettant de soumettre des modifications locales ou de stocker d'abord les modifications locales, puis d'effectuer une fusion de code.

git pull
error: Your local changes to file1.txt would be overwritten by merge. 
Aborting.
Please commit your changes or stash them before you merge.

3. Évitez que les modifications locales ne soient écrasées

Afin d'éviter que les modifications locales ne soient écrasées, nous pouvons utiliser les méthodes suivantes :

1. Soumettre la modification locale

La méthode recommandée est de soumettre les modifications locales, puis de fusionner le code.

git add .
git commit -m "my local changes"
git pull

2. Cacher les modifications locales

Si vous ne souhaitez pas soumettre de modifications locales, vous pouvez utiliser la commande git stash pour mettre en cache les modifications locales.

git stash save "my local changes"
git pull
git stash pop

3. Désactivez la fusion automatique

Dans certains cas, la fusion automatique peut conduire à des résultats imprévisibles. Vous pouvez forcer la désactivation de la fusion automatique lors de l'exécution de la commande git pull.

git pull --no-merge

4. Résumé

git pull écrasera le code modifié localement, mais uniquement en cas de conflit entre le code local et le code distant.

Afin d'éviter que les modifications locales ne soient écrasées, nous pouvons soumettre des modifications locales, cacher les modifications locales ou désactiver la fusion automatique.

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
Article précédent:commande git pull pull codeArticle suivant:commande git pull pull code