Structuur II Version control Dries Harnie Thursday 2 October 14 Wat is version control? Version control is any practice that tracks and provides control over changes to source code. Thursday 2 October 14 Waarom version control? “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” “Ik moet X nog doen maar ik durf het niet kapot maken” (vijf minuten voor de deadline) “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” “Re: Re: Re: Re: Final version (.ZIP attached)” Thursday 2 October 14 Waarom geen backups? Thursday 2 October 14 Waarom geen backups? Thursday 2 October 14 Terminologie Commit|Revision: momentopname van het project Repository: verzamelplaats voor commits Working copy: direct aanpasbare kopie van repository Branch: een alternatieve reeks van commits Thursday 2 October 14 Git git-scm.com Distributed VCS Integratie met Eclipse/XCode GitHub Thursday 2 October 14 http://git-scm.com/doc Thursday 2 October 14 Nieuwe repository maken Thursday 2 October 14 Nieuwe repository maken Thursday 2 October 14 De eerste commit Thursday 2 October 14 De eerste commit Thursday 2 October 14 Nieuwe files toevoegen Thursday 2 October 14 Nieuwe files toevoegen Thursday 2 October 14 Nieuwe files toevoegen Thursday 2 October 14 Nieuwe files toevoegen (ctd) Thursday 2 October 14 Nieuwe files toevoegen (ctd) Thursday 2 October 14 Oeps... Thursday 2 October 14 Oeps... Thursday 2 October 14 Oeps... Thursday 2 October 14 Geschiedenis van de repository Thursday 2 October 14 Workflow Initieel: Team→Share project (git init) Team→Ignore→Debug/Release (edit .gitignore) Team→Commit (git add; git commit) Later: Team→Add (git add) [indien nodig] Team→Commit (git commit) Thursday 2 October 14 Tijd voor wat oefeningen Thursday 2 October 14 Communicatie: Push Thursday 2 October 14 Communicatie: Push Thursday 2 October 14 Communicatie: Push Thursday 2 October 14 Branches Letterlijk: “zijtakken” van het project Onafhankelijke reeksen van commits Je kan op elk moment naar een andere branch! Typisch gebruikt voor zogeheten “topic branches”: Experimenten of ingrijpende veranderingen In dit voorbeeld: een Franse vertaling Thursday 2 October 14 Branching Thursday 2 October 14 Merging Thursday 2 October 14 Merging Thursday 2 October 14 Een iets groter project (Tower) Thursday 2 October 14 Conclusie “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” “Ik moet X nog doen maar ik durf het niet kapot maken” (vijf minuten voor de deadline) “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” “Re: Re: Re: Re: Final version (.ZIP attached)” Thursday 2 October 14 Conclusie t i m m “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” o c g it “Ik moet X nog doen maar ik durf het niet kapot maken” (vijf minuten voor de deadline) “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” “Re: Re: Re: Re: Final version (.ZIP attached)” Thursday 2 October 14 Conclusie t i m m “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” o c g it h c n “Ik moet X nog doen maar b ik durf het niet kapot maken” a r g it (vijf minuten voor de deadline) “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” “Re: Re: Re: Re: Final version (.ZIP attached)” Thursday 2 October 14 Conclusie t i m m “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” o c g it h c n “Ik moet X nog doen maar b ik durf het niet kapot maken” a r g it (vijf minuten voor de deadline) t r e v e r “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” t i g “Re: Re: Re: Re: Final version (.ZIP attached)” Thursday 2 October 14 Conclusie t i m m “Oei, ik heb wat liggen prutsen en nu werkt er niks meer” o c g it h c n “Ik moet X nog doen maar b ik durf het niet kapot maken” a r g it (vijf minuten voor de deadline) t r e v e r “AARGH! MAKE CLEAN HEEFT MIJN FILES WEGGEGOOID!” t i g l l u “Re: Re: Re: Re: Finalh version (.ZIP attached)” p / s u p t gi Thursday 2 October 14
© Copyright 2024 ExpyDoc