windows - Hvad er det gode VCS at bruge til 1 programmør med 2 separate computere?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg lærer at programmere i C # på Windows. En udvikler ven foreslog, at da jeg lige er begyndt, kan det være en god ide at starte med at bruge VCS, så jeg bliver vant til det. Jeg har læst op på Git, Mercurial og Bazaar, og jeg har svært ved at vælge mellem dem. Jeg har kigget på antallet af stillinger på SO med lignende spørgsmål, men har ikke fundet nogen behandling med at bruge VCS på separate computere af samme bruger.


Så før du selv bekymrer dig om, hvilken VCS du skal bruge, er det, min ven foreslog sandt - gå i vane med at bruge VCS til nogen/alle projekter eller er det en overkill?


Hvis det er en god vane, så leder jeg efter en løsning med følgende krav:



  • Jeg programmerer hjemme og på arbejde. Jeg skal være i stand til at skubbe/trække uanset hvor jeg er (ved hjælp af forskellige computere).

  • Jeg er en privatlivsnød, især da jeg lige er begyndt. Jeg foretrækker private respository snarere end offentligt/åbent. Eller er jeg for paranoid? Jeg er ikke imod åben kilde, men som nybegynder vil jeg gerne holde mit arbejde privat (for nu alligevel).

  • Jeg vil gerne kunne bruge VCS til flere projekter (små projekter for nu, men jeg håber at tackle større projekter senere)

  • Jeg er en Windows fyr, så Windows og Visual Studio integration/support ville være et stort plus



Min nuværende VCS-metode:



  • Brug carbonite til daglig backup

  • Brug Windows Mesh til at synkronisere filer mellem hjemme og arbejd computer

  • Angiv gammel kode for ændringer med dato/klokkeslæt og grund til ændring



Lad os bare sige, at jeg kunne gøre det bedre.


Enhver og alle kommentarer er meget værdsat. Tak skal du have.

Bedste reference


Brug af versionskontrol er helt sikkert en god vane at komme ind på og giver nogle fordele til solo programmereren:



  • Du kan holde din historie og årsagerne bag dem ud af din kode, hvilket gør det mere tidligt og lettere at læse.

  • Det giver mulighed for en slags pude til at bryde op - du kan kode med den tillid, at du altid kan komme tilbage til hvor du startede, hvis det hele går forfærdeligt.

  • I din personlige situation vil det muliggøre nem synkronisering mellem dine computere, selv om du allerede har en løsning på det.



Jeg kan ikke rigtig give en god sammenligning af de forskellige versionsstyringssystemer, som du snakker om, da jeg ikke har brugt Bazaar, og jeg brugte kun Git i et kort stykke tid for at evaluere det (3 år siden - jeg valgte det ikke fordi de tilgængelige Windows-klienter var ikke meget gode, men det var 3 år siden og software ændrer sig meget i den tid)


Jeg tror, ​​at versionsstyringssystemet ikke betyder meget for din situation. Jeg siger, at du skal have et hurtigt spil med hver af dem og bestemme, hvad der er bedre for dig. Forskellene i de underliggende kildekontrolsystemer vil næppe påvirke dig så meget som kundernes kvalitet.


Jeg har brugt Mercurial og kan sige, at TortoiseHg og VisualHg begge er gode kunder til Windows. TortoiseHg integreres med Windows Explorer (men har også en selvstændig klient, hvis det er det du vil). VisualHg er et Visual Studio addon, der integrerer TortoiseHg med VS.


Du kan muligvis fortsætte med at bruge Windows Mesh til at holde arbejdet og hjemmebiblioteker synkroniseret, hvis du virkelig ikke vil bruge en offentlig kildekontrolleverandør. Jeg vil anbefale det imod - udelukkende fordi det ligner Windows Mesh ville gøre et job, som kildekontrolsystemet er specielt designet til at gøre.


Jeg bruger bitbucket.org (for Mercurial) - det er gratis at bruge, og du kan have så mange private arkiver som du vil. [1]

Andre referencer 1


Jeg vil kraftigt anbefale at bruge versionskontrol til alle projekter. En meget stor fordel er, at det giver dig mulighed for nemt at arbejde med forskellige grene, hvilket er meget nyttigt for at udvikle nye funktioner og vedligeholde flere versioner (f.eks. Projekt X på arbejdspladsen bruger version n, så du behøver at vedligeholde det, men du er interesseret i udvikler version n + 1). Hvis du nogensinde vil have et programmeringsjob, vil mange arbejdsgivere ikke tage dig alvorligt, hvis du ikke bruger versionskontrol.


Med hensyn til specifikke krav:



  Jeg programmerer hjemme og på arbejde. Jeg skal være i stand til at skubbe/trække
  uanset hvor jeg er (ved hjælp af forskellige computere).



Enhver distribueret versionskontrol (DVCS) understøtter dette nemt. Heldigvis er git, mercurial og basar alle DVCS, så du er dygtig med nogen af ​​dem.



  Jeg er en privatlivsmøtrik, især da jeg lige er begyndt. jeg ville
  foretrækker private respository snarere end offentlige/åbne. Eller er jeg det?
  for paranoid? Jeg er ikke imod åben kilde, men som en nybegynder ville jeg
  kan lide at holde mit arbejde privat (for nu alligevel).



Enhver VCS vil understøtte dette, selvom det negerer nogle fordele for nogle VCS valg (fx github).


Ud af de tre, du har nævnt, tror jeg, at basaren og Mercurial har den bedste Windows-understøttelse. Begge har visuel studiointegration i det mindste en del. Jeg er enig i, at du bør prøve dem, inden du vælger, sandsynligvis i bazaarens rækkefølge, Mercurial, git.