Il dépend de la nature de la branche ("ligne de développement") vous travaillez sur.
Le principal avantage de ces DVCS (git ou mercurial), c'est la facilité, vous pouvez:
Donc:
1/ Combien de fois et quand pensez-vous engager?
2/ avez-vous seulement de valider les modifications quand ils construire correctement?
Autant de fois que nécessaire sur une branche privé (par exemple, si il compile).
La pratique n'engagent que si les tests unitaires passent est bonne, mais ne devrait s'appliquer qu'à un "officiel" (comme dans "pourrait être publié ou 'poussé'") direction générale: dans votre branche, vous fusionnez un gazillon fois si vous en avez besoin.
La seule chose est: certaines fusion --interactive pour le réaménagement de votre nombre de commits sur votre branche privé, avant de rejouer sur votre branche de développement principale, où vous pouvez passer quelques tests.
3/ Combien de fois et quand vous poussez vos modifications (ou de déposer une demande d'extraction ou similaire)?
La Publication est une autre affaire et doit être fait avec un "clair" de l'histoire (cohérent fusionne, représentant un contenu qui, de compiler et de passer certains tests).
La branche que vous publiez doit être celle où l'histoire n'est jamais réécrit, toujours mis à jour.
Le rythme des publications dépend de la nature de la distance et de la population en tirant de cette branche. Par exemple, si c'est pour une autre équipe, vous pourrait pousser assez souvent. Si c'est pour un système d'intégration à l'échelle de l'équipe de test, vous ne poussez beaucoup moins souvent.
4/ Comment abordez-vous le développement d'une fonction complexe / faire un complexe de refactoring nécessitant beaucoup d'endroits pour être touché? Sont "privé s'engage" à ne pas construire ok? Lorsque vous avez terminé, faites-vous pousser aussi à la maîtrise ou au référentiel ne permet de regrouper tous vos modifications dans un seul ensemble de modifications avant de le pousser?
Voir 1. et 2.: patch d'abord dans votre propre branche, réorganiser votre s'engage sur un officiel (publié) branche patch. Un seul commit n'est pas toujours la meilleure option si le patch comporte plusieurs "activités" (ou correction de bug).