Windows - Kom ind i Source Control

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har bestemt mig det er nok bedst, hvis jeg får en Source Control løsning, der skal holde mit hårde arbejde sikkert og hjælpe med at udrydde fejl mellem versioner.


Jeg er bekendt med SVN for så vidt angår at kontrollere ting ud, men jeg har NFI om den begående side af tingene.


Hvad er en god Source Control-løsning, idet jeg husker at jeg udvikler i Visual Studio on Windows? Skal jeg få en hostet løsning eller hoste det selv på min egen server (kører Windows Server '03)

Bedste reference


Hvis du bare er begyndt og ser ud til selvvært, foreslår jeg VisualSVN. Det er en letvægts, ekstremt nem at bruge SVN-server og gratis. Jeg har brugt det til små projekter på arbejde og hjemme. Det omfatter sikkerhed, med ACL-mapper på mappeniveau og på filniveau baseret på lokale eller Windows-brugere. [1]


Du kan senere beslutte at flytte til mere magtfulde servere eller en eksternt hostet løsning; Du kan bare dumpe arkivet fra VisualSVN med standard svnadmin værktøjer og indlæse det i noget andet meget nemt.


For klientsiden af ​​tingene bruger jeg TortoiseSVN og elsker det, og jeg forstår, at Ankh er blevet bedre siden jeg brugte den. [2] [3]

Andre referencer 1


Jeg foreslår at bruge git og få Git Extensions til bedre Windows integration. [4]

Andre referencer 2


Brug git.


En workflow, der git gør rigtig godt:



  1. Få en ide til nogle funktioner, du vil implementere

  2. Opret en ny fil for den funktion

  3. Skriv kode, begå som skør

  4. Når du er færdig med at implementere, squeeze alle de vanvittige begår i en stor patch

  5. Forbind denne patch mod din hovedafdeling

  6. Slet filialen for-den-en-funktionen.



Dette er dejligt at have. Du kan have flere parallelle grene til dette, og det er meget nemt.


Som et ekstra element, hvis dit projekt bliver offentligt tilgængeligt, og du bruger git, vil folk, der tjekker din kode, have en nem tid at lave deres egne ændringer til (deres kopi af) din kode, versionskontrollerede og alle, og det er let at spore opstrøms på samme tid.


Hvis ikke git, prøv et andet distribueret kildekontrolsystem og se om det gør godt forgrening og lokalt forpligter.

Andre referencer 3


Vi er et lille team (syv personer) vi har brugt en hostet løsning (hosted-projects.com) i mere end et år. Det er billigt og har fungeret meget godt for os. Vi bruger skildpadden til kunderne.


De vigtigste fordele ved en hostet løsning er:



  • Ingen grund til at bekymre sig om installation og vedligeholdelse af serveren

  • fjern hosting betyder, at vi har en komplet og opdateret backup af vores kode på en fjernplacering

  • meget hurtigt


Andre referencer 4


Jeg har for nylig lavet en teamudvikling ting, og vi hostede bare subversion på en af ​​vores arbejdsstationer, og det fungerede ... passabelt. Vi brugte visuel svn på serveren og tortoiseSVN på alle klienterne (og jeg tilsluttede lejlighedsvis min macbook ved hjælp af versioner, SVNX eller kommandolinjen). Sammensmeltning er den meget hårde del ... vi havde mange problemer med det (løst igen med nogle kommandolinjefærdigheder). Jeg har også oprettet min egen subversion-server på min Linux-arbejdsstation til personlig brug, hvilket fungerede bedre (fusioner var glattere, kun én udvikler). Samlet set har det været ret nemt, og sammenlægning er nok det største problem, du vil møde.

Andre referencer 5


Hvis du er ny kildekode, så vil jeg anbefale at du læser Eric Sinks serie om Source Control. Det dækker virkelig ikke distribueret kildekontrol, men det er stadig en meget god primer. [5]


Jeg bruger personligt Perforce. De tillader op til to anvendelser gratis til brug i hjemmet og i mindre virksomheder. Det er lidt dyrt sammenlignet med andre, men der er grunde til, at virksomheder som Google og Symantec bruger det. Det er okay at have god Visual Studio support. [6]

Andre referencer 6


Jeg kan virkelig lide vært løsning, fordi det ofte kommer med andre værktøjer som Trac til at styre din projekt tidslinje og fejl kontrol.
Jeg anbefaler projectlocker eller codespaces