6
votes

Comment éviter de reconstruire Visual Studio après avoir commuté des branches Git d'avant en arrière?

J'utilise GIT pour le contrôle de la source et construire avec Visual Studio 2008. La plupart du temps, je construis sur une branche (maître). Souvent, je dois faire un examen de code et passer à une autre branche (développer) temporairement. Je ne construis pas de code que j'examine et après l'examen est terminé, je retourne à la branche d'origine:

  1. développer sur le maître
  2. commettre tout (la branche est propre)
  3. Construire
  4. Basculer pour développer
  5. Examen du code
  6. Switch to maître
  7. continuer à développer sur maître
  8. Build (recompille de nombreux fichiers, non seulement modifiés à l'étape précédente)

    Si le maître et le développement ont des versions différentes d'un fichier, la date de modification et l'heure de ce fichier sont mises à jour au moment de la caisse après la commutation après la commutation des succursales à l'étape 5. Cela provoque des studios visuels pour les reconstruire à l'étape 8 malgré le fait que que le code de Soux n'a pas changé.

    Comment puis-je éviter des reconstructions massives lorsque vous changez de branches?


1 commentaires

Il y a une bonne discussion à ce sujet ici: Stackoverflow .com / questions / 10356165 / ...


3 Réponses :


3
votes

En tant que solution de contournement, il pourrait vous être utile de faire des critiques de codes dans un clone différent de votre clone de développement. De cette façon, passer à une branche d'examen ne modifiera pas les fichiers de votre clone maître, ce qui ne causera pas de les reconstruire inutilement.


2 commentaires

Merci pour la proposition, mais mon référentiel est énorme - plus de 3 Go. Je voudrais éviter de gaspiller de l'espace.


CLONE GIT SUR UNE MACHINE LOCAL DIFFICTES PAR DEFAULTER UNE POSSIBLE, un clone peut donc prendre moins de 3 Go sur votre disque.



1
votes

Vous pouvez scripter une caisse de simplement les fichiers différend. Donc, ne faites pas une vraie vérification, mais modifiez le répertoire de travail pour ressembler à l'autre branche.


5 commentaires

Cela ressemble à un script assez compliqué. C'est comme une réimplément des fonctionnalités de paiement qui conserve la durée de modification. Ou puis-je faire cela plus simple? Script existant?


Git stocke-t-il réellement les heures de modification ou devrai-je les conserver manuellement dans un tel script?


Ce ne serait pas un script compliqué. Vous pouvez obtenir une liste de fichiers de GIT DIFF -STAT


Merci pour le conseil. Je vais essayer d'en écrire un.


Merci. Je n'ai pas encore écrit l'outil, mais je suppose que c'est la meilleure réponse que je pourrais me donner la question.



0
votes

Git WorkTree Works. Il vous permet de travailler sur des branches multi-branches et sans commutation.


1 commentaires

Pouvez-vous expliquer comment utiliser git workitree pour corriger le problème postal d'origine?