2011-10-13 2 views
1

Je suis en train de développer une solution Visual Studio à un seul développeur et j'ai atteint le point où j'aimerais intégrer le contrôle de version. Plusieurs publications traitent ce problème, mais un problème auquel je suis confronté est une fusion importante. J'ai une copie de production de la solution et une copie bêta. Ils ne sont pas radicalement différents, mais ils nécessiteront un certain nombre d'interactions que je soupçonne. J'utilise TortoiseSVN et j'ai importé la version de production. Oui, je sais que j'aurais dû utiliser le contrôle de version depuis le début, mais c'est une vue arrière. Serait-il préférable d'utiliser simplement la version bêta comme référence et de travailler les interations à partir de zéro. Ou devrais-je bifurquer et importer la bêta séparément, puis tenter de fusionner la modification. Ou y a-t-il une autre alternative qui me manque?Je cherche à intégrer le contrôle de version après coup

Merci, DGP

Répondre

0

bien, je l'ai connu SVN dans le passé ... et je dois dire, il est beau car il est vraiment facile de comprendre le concept, mais c'est terrible terrible quand les choses passer de la plaine commit.

J'utilise actuellement GIT (pour accueillir petit code sur GitHub) et Mercurial (Hg) (j'utilise Kiln dans l'entreprise - a été recommandé par moi-même afin qu'ils puissent commencer à utiliser - et à des fins personnelles BitBucket J'utilise SVN depuis plus d'une année et chaque fois que j'ai besoin de quelque chose du "passé" ou pour fusionner quelque chose, c'était un cauchemar, mais le concept serveur/client était vraiment une affaire de rupture et extrêmement facile à obtenir ... mais je me suis retrouvé, encore et encore à faire fusion à la main :(

Lorsque GIT a commencé à être chaud, j'avais peur de m Ove comme, dang! SVN était une douleur, pourquoi devrait être différent dans un DVCS?

Cette vidéo a secoué mon monde, [part 1part 2], alors seulement je compris DVCS vs VCS et ce fut avec ce que je me suis déplacé COMPLÈTEMENT à DVCS et ne jamais revenir en arrière ... avec fierté!


Pour votre problème, j'installer git (ou hg), puis créer un référentiel sur le dossier que vous avez votre source de courant:

git init racontera votre dossier, « Hé, je m un GIT repo »

git add . ajoutons tous les fichiers et dossiers à être suivis par git

git commit -m "initial commit" sauvons tout le travail dur :)

Donc, maintenant que vous avez un code suivi, vous pouvez simplement créer une branche et écraser tous vos fichiers. OUI, ne vous inquiétez pas, vous n'avez pas besoin d'avoir des copies de votre code dans un dossier appelé branch;) plus de copies! tout est dans la base de données GIT

puis, après avoir créé la branche, a changé les fichiers, ajoutés tous les fichiers à être suivis sur cette branche et se sont engagés, faire en toute sécurité une fusion :)

ohh, et vous don Pas besoin d'une connexion serveur pour faire tout cela, tout ce dont vous avez besoin est un ordinateur avec GIT installé ... plus de dépendances de connexion! DVCS est cool ou quoi ?!: D

+0

balexandre, merci pour l'entrée et le lien vidéo. Dan York a fait un excellent travail d'explication. Il est perspicace comment il utilise un système de contrôle de version pour beaucoup plus que le développement de code. Étant nouveau à TortoiseSVN (et je peux passer à GitHub), je ne suis toujours pas clair sur la méthode de fusion des deux versions différentes. Je pense que je peux peut-être fusionner le logiciel et trouver des conflits. Je pourrais alors résoudre les conflits à la main et laisser le système gérer le reste. Pensées? – dgp

+0

Oui vous devriez, ** mais jamais avec un système VCS ** (SVN par exemple) car ils suivent les fichiers et pas un ensemble de changements (changements de ligne) - * c'est pourquoi fusionner en VCS est extrêmement douloureux * - choisir un bon DVCS (Git ou Hg) et faire quelques tests sur 3 ou 4 fichiers avant de commettre, c'est l'idée que j'ai essayé de transmettre ma réponse :) – balexandre

Questions connexes