Supposons que j'utilise un projet open source. Afin de garder le github officiel racine synchronisé à tout moment, j'utilise git clone le projet localement et j'effectue un développement secondaire. La plupart de mon développement secondaire n'entrera pas en conflit avec les fichiers principaux officiels. . Oui, mais les fichiers individuels seront toujours en conflit. .
Par exemple, après un certain temps, j'ai apporté quelques modifications à mon ordinateur local. Il s'agit du référentiel officiel qui a également apporté quelques modifications et publié une petite version
.Pour le moment, je souhaite mettre à jour la dernière version officielle Lors de l'utilisation de git pull, un conflit sera provoqué. Ensuite, un problème surviendra
.Développement secondaire de projets open source. Comment obtenir la dernière version via git pull à tout moment et conserver les modifications locales ?
S'il y a un conflit lorsque git pull obtient la dernière mise à jour officielle
Utilisez git stash pour mettre en cache les modifications locales.
Puis git pull pour télécharger la dernière version officielle
Puis git stash pop pour fusionner les modifications locales dans le code et résoudre manuellement les conflits
Je l'ai brièvement testé et je n'ai trouvé aucun problème, car je n'ai pas besoin de pousser le code vers l'entrepôt officiel, donc je n'en ajoute généralement pas, mais après cette expérience, j'ai apporté quelques modifications et le responsable l'a mis à jour encore quelque chose
L'utilisation de git pull ne fonctionne toujours pas. Je dois utiliser git add local. Ensuite, répétez les étapes de stockage ci-dessus pour conserver les mises à jour et fusionner les conflits,
.Je ne sais pas si ce que j’ai fait est correct ou existe-t-il une meilleure façon ?
Pas besoin de cacher, il suffit de valider d'abord les modifications, puis de tirer pour résoudre le conflit.
En fait, si vous avez déjà effectué un commit local (git commit), vous n'avez pas besoin de
git stash
d'abord avant d'extraire les modifications à distance. Justegit pull
ougit fetch
puisgit merge
.Bien sûr, si vous n'avez pas effectué de commit local (git commit) avant de tirer, il n'y a aucun problème avec votre opération ci-dessus. Cependant, vous pouvez également d'abord terminer les modifications locales, puis les soumettre avant de tirer ( git pull). .
En fait, votre
git stash
situation d'application n'est pas adaptéegit stash
est généralement utilisée lorsque vous êtes à mi-chemin du travail sur une certaine branche (cela ne vaut pas la peine de faire un commit ou vous ne voulez pas le valider). all), et vous avez soudainement envie de passer à une autre branche pour faire autre chose. En ce moment, utilisergit stash
est parfait.