
# GitHub
#### Situation

- Codeverwaltung über Subversion oder CVS

- Tägliche Arbeit stockt oft, da viele Aktionen eine Verbindung mit dem SVN-Server erfordern   

- Erstellen und Mergen von Branches kompliziert, daher…

    - Gemeinsame Entwicklung im Hauptbranch

    - Branching nur bei Release *durch Experten*

---

# GitHub
#### Änderungen

- Umstellung auf Git

    - Branchen und Mergen wird von allen beherrscht und täglich durchgeführt

    - Jede Entwicklung findet ungestört im eigenen Branch statt

    - Hauptbranch kann *immer* released werden


- Wichtigste Änderung:

    Umzug auf [GitHub](https://github.com)

---

# GitHub
#### Ergebnis

- Keine gegenseitige Störung bei paralleler Entwicklung

- GitHub bietet [Pull Requests](https://help.github.com/articles/about-pull-requests/):

    - Möglichkeit, über Änderungen am Code zu diskutieren

    - Persistente, nachvollziehbare Kommunikation

    - [Beispiel](https://github.com/thenativeweb/roboter/pull/48)

- GitHub macht es einfach, Projekte in Open Source umzuwandeln

---

# GitHub
#### Anti-Pattern

- Gitolite

    - Günstige Alternative: [GitLab](https://about.gitlab.com)

---

class: black

# Gitolite

---
