Je me suis posé les mêmes questions lorsque nous sommes arrivés à mettre en œuvre la Subversion ici -- environ 20 développeurs répartis sur les 4 - 6 projets. Je n'ai pas trouvé une bonne source avec "la réponse". Voici quelques pièces de la façon dont notre réponse a développé au cours des 3 dernières années:
-- s'engager aussi souvent que cela est utile; notre règle d'or est de s'engager à chaque fois que vous avez fait suffisamment de travail que ce serait un problème d'avoir à re-faire si les modifications se sont perdus; parfois j'ai commis toutes les 15 minutes, d'autres fois, il pourrait être jours (oui, parfois, il me prend une journée pour écrire 1 ligne de code)
-- nous utilisons des branches, comme l'une de vos précédentes réponses suggérées, pour les différentes voies de développement; à droite maintenant pour l'un de nos programmes, nous avons 3 branches actives: 1 pour le développement principal, 1 pour le pas encore inachevée de l'effort de paralléliser le programme, et 1 pour l'effort de les réviser afin d'utiliser le format XML d'entrée et de sortie des fichiers;
-- nous avons à peine d'utiliser des tags, si nous pensons que nous devrions les utiliser pour identifier les rejets dans la production;
Penser le développement instance par le même chemin. À un moment ou à un état de développement marketing décider de sortir la première version du produit, de sorte que vous plante un drapeau dans le chemin étiqueté '1' (ou '1.0' ou avez-vous). À un autre moment certains étincelle brillante décide de paralléliser le programme, mais décide que cela va prendre des semaines, et que les gens veulent garder en descendant le chemin principal dans l'intervalle. Afin de vous construire un embranchement du chemin d'accès, et les différentes personnes errent dans les différents forks.
Les drapeaux de la route sont appelés "tags", et la fourche de la route sont où les "branches" diviser. Parfois, aussi, des branches de revenir ensemble.
-- nous avons mis tout le matériel nécessaire pour créer un fichier exécutable (ou système) dans le référentiel, C'est à dire au moins le code source et faire fichier (ou les fichiers de projet pour Visual Studio). Mais quand nous avons des icônes et des fichiers de configuration et toutes les autres choses, qui va dans le référentiel. Une partie de la documentation trouve son chemin dans les opérations de pension; certainement toute la documentation comme les fichiers d'aide qui pourrait être partie intégrante du programme, et c'est un lieu utile pour mettre de la documentation du développeur.
Nous avons même mis les exécutables Windows pour notre production de communiqués de là, à fournir un emplacement unique pour les personnes à la recherche pour logiciel -- nos distributions Linux sur un serveur, donc n'a pas besoin d'être stockées.
-- nous ne nécessitent pas le dépôt à tout moment être capable de délivrer une dernière version qui génère et exécute; certains projets fonctionnent de cette façon, n'est pas le cas; la décision revient au chef de projet et dépend de nombreux facteurs, mais je pense qu'il se décompose lors de la prise de changements majeurs à un programme.