Maison > Questions et réponses > le corps du texte
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 ?
阿神2017-05-02 09:52:07
Pas besoin de cacher, il suffit de valider d'abord les modifications, puis de tirer pour résoudre le conflit.
怪我咯2017-05-02 09:52:07
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. Juste git pull
ou git fetch
puis git 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ée git 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, utiliser git stash
est parfait.