Eclipse et EGit: comment réviser facilement les modifications de tous les fichiers modifiés avant de s'engager dans le dépôt * local*

J'utilise Eclipse Indigo SR2 avec le plugin (intégré) EGit v. 1.3.0.201202151440-r et n'ont pas été en mesure de trouver un moyen de passer en revue facilement tous mes changements avant de faire un engagement.

J'ai utilisé Eclipse avec SVN pendant des années, et c'était toujours très facile à faire. En général, je fais un clic droit sur mon projet, sélectionnez Team->Synchronize, double-cliquez sur le premier fichier modifié (dans la perspective Team Sync), puis cliquez sur Ctrl -. à plusieurs reprises d'examiner tous les changements un fichier, puis passer au fichier suivant, comme je l'ai écrit un résumé de mes modifications pour le message de commit.

mais bien sûr, git est très différent de Subversion, et donc mon workflow doit changer. Avec EGit, "Team Sync" ne semble utile que pour examiner les changements entre mes fichiers locaux et le dépôt distant (c'est-à-dire avant une poussée vers le dépôt distant). J'ai besoin d'un moyen d'examiner les changements depuis mon dernier commit à mon référentiel. En général, je ne me soucie même pas de (re)revoir change avant une poussée vers la télécommande (et si je le faisais, je préférerais un simple équivalent de git log pour voir ce qui s'engage, je suis sur le point de pousser).

Si je clic droit sur mon projet et sélectionnez Team->Commit, on me présente une fenêtre qui fait presque tout ce que je dois faire (sélectionner les fichiers à mettre en scène, commit, écrire un message de commit, modifier une commit précédente, etc.). Ce qu'il ne pas me permettre de faire facilement et rapidement en revue tous mes changements en comparaison de l'éditeur. Je ne peux pas croyez que cette capacité n'existe pas! Il semble que je doive double-cliquer sur chaque fichier individuel, examiner les changements, fermer l'éditeur de comparaison, et double-cliquer sur le fichier suivant. C'est ridicule!

TL / DR-je suis à la recherche d'un simple équivalent GUI (en Eclipse) pour faire ce que je suis facilement capable de faire à partir de la ligne de commande en utilisant git vimdiff (où vimdiff est un alias git qui utilise vimdiff comme "difftool" pour parcourir tous les fichiers modifiés) suivi de git commit (avec peut-être un git add ou deux entre les deux).

si personne n'a de bonne solution, je suis curieux de savoir comment les autres gèrent leur flux de propagation avec EGit. Je m'en sors très bien en commettant depuis la ligne de commande (pas que Eclipse soit contente de ça) mais je ne peux pas croire que EGit soit aussi presque inutile qu'il me semble. Peut-être que mon google-fu n'est plus aussi fort qu'avant?

40
demandé sur Lambart 2012-06-29 06:49:20

2 réponses

Êtes-vous au courant de la vue 'Git Staging'. Il garde la trace de tous les fichiers qui ont changé et vous pouvez revoir les changements à tout moment. (Cela peut être un peu mieux qu'à l'aide de la boîte de dialogue de validation)

une alternative est de propager toutes les modifications sans passer en revue, puis d'utiliser la vue historique pour comparer deux propagations (il suffit de sélectionner les dernières propagations les plus importantes, clic droit et sélectionner "comparer entre elles"). De cette façon, vous n'avez pas à garder double cliquant des fichiers individuels. Si vous avez besoin d' pour changer quelque chose, vous pouvez toujours 'Modifier' le dernier commit. (J'ai l'habitude de suivre cette approche)

23
répondu Deepak Azad 2012-06-29 04:58:32

Dit ici que vous pouvez voir les différences entre l'arbre de travail et toute donnée de référence. Peut-être devriez-vous essayer la dernière version (Juno) D'Eclipse/EGit et voir si elle est devenue meilleure?

mise à jour: j'ai essayé cela dans la dernière éclipse, et aussi loin que je puisse voir cela fonctionne bien. Voici comment faire:

au moment de la rédaction du présent, Eclipse Juno 4.2 est la version que vous devriez aller pour. Sur la page de téléchargement, vous pouvez choisir entre plusieurs paquets selon vos besoins. L'IDE Eclipse pour les développeurs Java est fourni avec EGit, mais vous pouvez aussi installer EGit dans n'importe quelle distribution en utilisant le Marketplace Eclipse (sous le menu D'aide).

  • une Fois que vous avez importé votre projet dans Eclipse, assurez-vous que le projet est "partagé":

cliquez-Droit sur le projet -> Équipe> Partager le Projet.. - >Git

Maintenant, faites ce qui suit:

  • passer à L'équipe de synchronisation Perspective.
  • cliquez sur le petit bouton Synchroniser dans la vue synchroniser.
  • Choisir Git
  • choisir une branche appropriée pour se synchroniser avec, comme refs/remotes/origin/master
  • assurez-vous de cocher la case "Inclure les modifications non validées par comparaison" boîte
  • Cliquez Sur Terminer

maintenant, changez certains fichiers et regardez-les apparaître dans la vue synchroniser. Double-cliquez sur les fichiers modifiés pour voir la diff (comme dans le capture d'écran ci-dessous).

Screenshot of Eclipse Juno - EGit Synchronize View

38
répondu Thomas Ferris Nicolaisen 2012-07-02 14:28:00