| 199 | | - '''Initiele Clone''' Maakt een clone in de directory `openac-git` en gaat vervolgens |
| 200 | | de (remote) development branch volgen. Bij de eerste clone komt er een foutmelding |
| | 202 | - '''SSH''' Maak eerst een SSH-key aan waarmee je naar de FENAC server kunt SSH'en. Hiervoor is een gebruikers-login op de server zelf nodig. Je kan alleen vanaf Audcom bij die server. Configureer SSH vervolgens zo dat je een nette alias (zeg ''openac'') voor die verbinding. Dat kan door in je `~/.ssh/config` dit op te nemen: |
| | 203 | {{{ |
| | 204 | Host openac |
| | 205 | HostName svn.openac.fenac.nl |
| | 206 | User mijzelf |
| | 207 | IdentityFile ~/.ssh/id_openac |
| | 208 | }}} |
| | 209 | - '''Initiele Clone''' Dit maakt een clone in de directory `openac-git` en gaat vervolgens |
| | 210 | de (remote) development branch volgen. Bij de eerste clone komt er misschien een foutmelding |
| 225 | | (advanced dingen zoals samenwerken aan een branch in git en later afmaken naar SVN) |
| 226 | | |
| | 236 | Op de manier zoals hierboven is omschreven kan je git gebruiken als SVN client. Enig voordeel ten opzichte van SVN zelf is dat je ook lokale commits kunt doen en iets lokaal af kunt maken zonder dat je tussentijdse commits naar SVN hoeft te doen. Aan het eind van de rit kan je met ''dcommit'' je changesets naar SVN pushen. Eventueel kan je ook met '''branches''' werken om changesets onafhankelijk van elkaar te ontwikkelen, of om verschillende problemen los van elkaar op te lossen. |
| | 237 | |
| | 238 | Het plaatje hieronder laat een (eenvoudige) grafische weergave zien van branches in git tijdens OpenAC ontwikkeling. |
| | 239 | |
| | 240 | [[Image(branches.png)]] |
| | 241 | |
| | 242 | De branch ''git-svn'' komt overeen met SVN zelf. Er zijn twee remote branches, een genaamd ''backups'' (voor een niet nader gespecificeerd feature) en een genaamd ''ticket5150'' (om [#5150 dat ticket] op te lossen). De ticket-branch is net geopend en loopt vanaf de nieuwste SVN revisie verder. De backups-branch is een stuk ouder. Onder normale omstandigheden zouden er meer branches zijn van wisselende ouderdom, en ook een mengsel van lokale en remote branches. |
| | 243 | |
| | 244 | |
| | 245 | - '''Lokale branch''' Om een ticket op te lossen in een aparte (lokale, heel goedkope) branch, maak je een branch, schakel je daar op over, werk je normaal en doe je gewoon git commits. Af-en-toe controleer je dat je hele geschiedenis van fixes nog werkt ten opzichte van wat er nu in SVN staat. Je kan tussendoor ook wisselen naar andere branches of naar de huidige staat van SVN als je aan iets anders moet werken. Tenslotte maak je de branch af met ''dcommit'' en verdwijnt het als lokale branch -- de commits worden allemaal omgezet in SVN commits. |
| | 246 | - '''Maak branch''' |
| | 247 | - '''Wissel branch''' |
| | 248 | - '''Branch afmaken''' |
| | 249 | - '''Remote branch''' Als je wilt samenwerken aan een feature, maar niet wilt dat dit meteen zichtbaar is in SVN, of als je een bugfix hebt maar die wilt laten reviewer, dan kan je een lokale branch als '''remote''' branch in de git repository pushen. Dan wordt de branch zichtbaar voor anderen die de git repository gebruiken, maar wordt het niet naar SVN gepusht. Hierdoor kan er "onzichtbaar" aan iets gewerkt worden totdat het af is, en kan iets goed getest worden voordat het in SVN komt. |
| | 250 | - '''Branch publiceren''' |
| | 251 | - '''Branches volgen''' |
| | 252 | - '''Branch afmaken''' |