Upgrade to Pro — share decks privately, control downloads, hide ads and more …

X-Mas Issue Bash 2016 - PHP USERGROUP DRESDEN

X-Mas Issue Bash 2016 - PHP USERGROUP DRESDEN

A motivating talk about getting involved into open source software projects.

Avatar for Holger Woltersdorf

Holger Woltersdorf

December 09, 2016
Tweet

More Decks by Holger Woltersdorf

Other Decks in Programming

Transcript

  1. X-MAS ISSUE BASH '16 2 09.12.2016 • CLOUDSTERS DRESDEN •

    X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. OPEN SOURCE - GET INVOLVED!
  2. AGENDA 1 2 3 4 5 Willkommen Backlog ↹ Vortrag

    Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 3
  3. NEUE WEBSITE ๏ http://phpug-dresden.org ๏ Hosted on GitHub Pages ๏

    Statisch generiert aus Markdown und Twig ๏ Alle wichtigen Links und Infos rund um die UG 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 4
  4. MITGLIED DER SWK SAX ๏ http://softwerkskammer.org ๏ Technologie agnostische, lose

    Vereinigung von User Groups und Menschen, die alle Themen rund um Software voran bringen wollen. ๏ Europaweiter Konferenz-Kalender für 2017 ๏ Meetups, Slack-Channels, weltweit ๏ slack.softwarecraftsmanship.org 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 5
  5. EVENT KALENDER 2017 ๏ Meetup-Termine für 2017 ๏ Alle 6

    Wochen 
 (Montag - Donnerstag in Rotation) ๏ Workshops in Planung ๏ PHP Developer Day '17 ๏ X-Mas Issue Bash 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 6
  6. CFP - ALWAYS OPEN! ๏ GitHub: /slides/issues ๏ Themen vorschlagen

    ๏ Lightning Talks ๏ Gemeinsam vortragen ๏ Preview / Review ๏ Speaker vorschlagen ๏ Your turn! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 7
  7. MITGLIED WERDEN ๏ Möglichkeit auf vergünstigte Preise für Events und

    Konferenzen ๏ Kostenlose Teilnahme an Workshops, die von uns organisiert werden ๏ Mindestens 1 Frei-Getränk bei jedem unserer Meetups ๏ Zugriff auf unsere Bibliothek (Videos, Bücher, eBooks, Slides) ๏ 12,- EUR / Jahr 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 8
  8. ORGA TEAM [email protected] Ralf Junghanns TU Dresden Sandro Keil prooph

    software Holger Woltersdorf FortuneGlobe Marcel Führer move:elevator Tommy Mühle move:elevator Patrick Pächnatz move:elevator Alexander Hippe move:elevator Achim Sperling Bike24 9 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V.
  9. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 14 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  10. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 17 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  11. OPEN SOURCE SOFTWARE 18 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS

    ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. GET INVOLVED!
  12. 24 PULL REQUESTS EVENT ๏ Mit GitHub Account bei 24pullrequests.com

    anmelden ๏ Badges verdienen! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 19 https://24pullrequests.com/login
  13. YOU CAN CHANGE IT ๏ Wenn Software Open Source ist,

    kannst DU sie verändern ๏ Warte nicht auf Fixes oder Features von anderen ๏ Workarounds sind Zeitverschwendung und gefährlich ๏ Nutze im Zweifel deinen Fork bis zum Merge ๏ Lerne durch Fordern, Diskussion und Einblick ๏ Angst und Selbstunterschätzung sind fehl am Platz 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 20
  14. CONTRIBUTION GUIDE ๏ Richtlinie der Autoren, wie andere zur Software

    beitragen können / sollen - MUST READ ๏ Wesentlicher Inhalt: ๏ Angaben zum Problem und zur Reproduktion Issues ๏ Angaben zur Versionierung Semantic Versioning ๏ Angaben zur Dokumentation README, CHANGELOG, extern ๏ Angaben zur Akzeptanz Tests, Code-Style, Doku-Umfang ๏ Angaben zum VCS-Workflow 
 Branches, Commit messages, Features, Merge requests (PRs) ๏ Projektgröße ~ Richtlinien-Strenge 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 21
  15. CODE OF CONDUCT ๏ Allgemeine Richtlinie zum Umgang miteinander, vor

    allem relevant in Diskussionen - MUST READ (wenn vorhanden) ๏ Wesentlicher Inhalt: ๏ Einladende Sprache, respektvoller Umgang mit anderen Sichtweisen und Erfahrungen ๏ Annahme von konstruktiver Kritik ๏ Fokus auf das Problem, die Lösung und die Community, Empathie ๏ Nicht akzeptiertes Verhalten (Sexismus, Trolling, pers. Attacken, Schikanieren, Herausgabe privater Infos, Illegales) ๏ Verantwortliche und Kontaktmöglichkeiten 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 22
  16. GITHUB BEST PRACTICES ๏ Issue ๏ Fork ๏ Branch ๏

    Code ๏ Build ๏ Push ๏ Pull Request 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 23 IF ($Bra->Co()->Bu()) { $Pu->Pu(); }
  17. ISSUES ๏ Beschreibt das Problem und wie es reproduziert werden

    kann oder ein gewünschtes Feature ๏ Beschreibt einen nachvollziehbaren Lösungsansatz ๏ Enthält Code-Snippets, die den Lösungsansatz technisch wiedergeben ๏ Ist zentrale Anlaufstelle für Diskussionen und Voting ๏ Teil der Dokumentation, der Commit-History 
 & des CHANGELOG ๏ Teil des Release-Plans (Project / Milestones) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 24
  18. FORK ๏ Kopiert den aktuellen Stand des Repositories in deinen

    Namespace ๏ Entkoppelt die Entwicklung vom Projekt des Maintainers ๏ Maintainer’s Repository = Upstream ๏ Dein Repository = Downstream ๏ Merges in beide Richtungen über Pull Requests
 (compare across forks) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 25
  19. (ISSUE-)BRANCH ๏ Name: issue/<IssueNumber> ๏ Vereinfacht das Arbeiten an mehreren

    Issues, das Verwerfen von Änderungen und die Arbeit im Team ๏ Klare 1:1 Beziehung zum Issue ๏ Manche Projekte akzeptieren keine Pull Requests aus dem master-Branch 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 26
  20. COMMITS ๏ Referenziere das Issue in jedem Commit 
 git

    commit -m "Did something, #<IssueNumber" ๏ One Step - One Commit (Denke in Patches ohne Sideeffects) ๏ Schreibe bedeutsame Commit Messages, nutze Keywords und Scopes: ๏ Keywords: feat, fix, refactor, docs, style, perf, test, chore, revert
 git commit -m "fix(user): ensure e-mail address is unique" ๏ Ist die Message zu lang, solltest du die Commits aufteilen ๏ Schließe das Issue automatisch mit dem letzten Commit
 git commit -m "All done, closes #<IssueNumber" 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 27
  21. REMEMBER CHANGELOG README / DOCS TESTS 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 29
  22. BUILD & PUSH ๏ Tests ausführen ๏ Code Inspection ausführen

    ๏ Commits reviewen ๏ 3rd Party Tools ausführen ๏ Commits pushen (in deinen Fork) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 30
  23. PULL REQUEST 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH

    '16 • PHP USERGROUP DRESDEN e.V. 31 Upstream Downstream
  24. WORK IN PROGRESS PR ๏ Präfix "[WIP]" in PR Namen

    aufnehmen ๏ Nach und nach commits in deinen Branch committen ๏ Maintainer kann schrittweise Reviews machen ๏ Eignet sich gut für Milestones / Release-Entwicklung ๏ Kann mehrere Issues zusammenfassen 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 32
  25. WORK IN PROGRESS PR 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS

    ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 33 Issue #24 Issue #15 Issue #17
  26. REBASE FROM UPSTREAM ๏ Deinen Fork lokal klonen 
 git

    clone https://github.com/you/project.git ๏ Upstream-Remote hinterlegen
 git remote add upstream https://github.com/they/project.git ๏ Rebase ausführen
 git rebase upstream/master 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 34 git clone [email protected]:croaky/dotfiles.git cd dotfiles git remote add upstream [email protected]:thoughtbot/dotfiles.git git fetch upstream git rebase upstream/master
  27. NOW MAKE IT A HABIT ๏ Jeden Tag 1 kleiner

    Commit oder Pull Request ๏ Verbessert deine Skills, deine Reputation und deinen "Marktwert" im Business und der Community ๏ Challenge yourself! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 36
  28. LINKS & REFERENCES ๏ Software Versioning: https://en.wikipedia.org/wiki/Software_versioning ๏ Code of

    Conduct v1.4: http://contributor-covenant.org/version/1/4/ ๏ GitCop: https://gitcop.com ๏ Auto-Closing Issues with Commit Message (GitHub): 
 https://help.github.com/articles/closing-issues-via-commit-messages/ ๏ Commit logs from last night: http://www.commitlogsfromlastnight.com ๏ Keeping a GitHub fork updated: 
 https://robots.thoughtbot.com/keeping-a-github-fork-updated 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 38
  29. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 40 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  30. VIELEN DANK! 41 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE

    BASH '16 • PHP USERGROUP DRESDEN e.V. KEEP CONTRIBUTING