Applicable pour Eclipse Luna + Eclipse Git 3.6.1
JE,
- référentiel git cloné
- fait quelques changements dans le code source
- modifications par étapes de Git Staging View
- enfin, engagez-vous et poussez!
Et j'ai rencontré ce problème avec EGit et voici comment je l'ai résolu.
Oui, quelqu'un a validé les modifications avant de valider mes modifications. Les modifications sont donc rejetées. Après cette erreur, les modifications sont réellement validées dans le référentiel local. Je ne voulais pas juste Pullles changements parce que je voulais maintenir linear historycomme indiqué dans - Dans quels cas `git pull` pourrait-il être nocif?
Alors, j'ai exécuté les étapes suivantes
- du point de vue du référentiel Git, faites un clic droit sur le
projet Git concerné
- select
Fetch from Upstream- il récupère les mises à jour à distance (références et objets) mais aucune mise à jour n'est effectuée localement. pour plus d'informations, reportez-vous à Quelle est la différence entre 'git pull' et 'git fetch'?
- sélectionnez
Rebase...- cela ouvre une fenêtre contextuelle, cliquez sur Preserve merges during rebasevoir pourquoi
Que fait exactement "rebase --preserve-merges" de git (et pourquoi?)
- cliquer sur
Rebase button
- s'il y en a
conflict(s), passez à l'étape 6 sinon à l'étape 11
- un
Rebase Resultpopup apparaîtra, il suffit de cliquer surOK
file comparatorouvrirait, vous devez modifier left side file.
- une fois que vous avez terminé de fusionner correctement les modifications, allez
Git Stagingvoir
stage the changes. c'est à direadd to index
- sur la même vue, cliquez sur
Rebase-> Continue. répétez 7 à 10 jusqu'à ce que tous les conflits soient résolus.
- depuis la
Historyvue, sélectionnez votre ligne de validation et sélectionnezPush Commit
- cochez la
Rebase Commits of local.......case et cliquez sur suivant. référez-vous pourquoi - Git: rebase sur la branche de développement depuis l'amont
- cliquer sur
Finish
Remarque: si vous avez plusieurs commits de référentiel local, vous devez les écraser en un seul commit pour éviter plusieurs fusions.