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.
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!