Maison > Problème commun > le corps du texte

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

zbt
Libérer: 2023-06-20 17:13:44
original
9362 Les gens l'ont consulté

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
Copier après la connexion

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.
Copier après la connexion

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.
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!