$30 off During Our Annual Pro Sale. View Details »

7 Tipps für eine verständliche Git-Historie

7 Tipps für eine verständliche Git-Historie

Roland Weisleder

May 22, 2019
Tweet

More Decks by Roland Weisleder

Other Decks in Programming

Transcript

  1. www.data-experts.de Roland Weisleder @Ro_Wei #mddevdays 7 Tipps für eine verständliche

    Git-Historie
  2. www.data-experts.de Roland Weisleder @ data experts • Softwareentwickler und –architekt

    • Leiter des Technologieboards • Open Source Contributor Über den Sprecher
  3. www.data-experts.de 3

  4. www.data-experts.de 4

  5. www.data-experts.de 5

  6. www.data-experts.de 6 https://twitter.com/tagir_valeev/status/1077132250939117568

  7. www.data-experts.de „Initialer Commit“ ist ein schwarzes Loch – vermeide es!

    7 Tipp #1 für eine verständliche Git-Historie
  8. www.data-experts.de Schreibe für den Leser 8

  9. www.data-experts.de $ git log --oneline -n 5 ceed916125 ceed916125 Testcases

    angepasst und kleinere Fehler korrigiert ccce5012a9 Zwischenstand 0db287cd79 Testcases angepasst und kleinere Fehler korrigiert 7adf7c4dfe Zwischenstand 8de1585bc7 IT-Test repariert 9
  10. www.data-experts.de fixed stuff 10

  11. www.data-experts.de Testcase reparieren 11

  12. www.data-experts.de Triple-Mob-Programming und es funzt ... hoffentlich 12

  13. www.data-experts.de OutOfMemory während der Verarbeitung (Teil 2) 13

  14. www.data-experts.de NPE gefangen weil: wenn etwas an einem Feld geändert

    wird, das no Besser wäre es wohl vor dieser Validierung den Reload irgendwie z 14
  15. www.data-experts.de Summarize changes in around 50 characters or less More

    detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In some contexts, the first line is treated as the subject of the commit and the rest of the text as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); various tools like `log`, `shortlog` and `rebase` can get confused if you run the two together. Further paragraphs come after blank lines. 15
  16. www.data-experts.de Verwende die Standard- Formatierung für Commits! 16 Tipp #2

    für eine verständliche Git-Historie
  17. www.data-experts.de 17

  18. www.data-experts.de NPE gefangen weil: wenn etwas an einem Feld geändert

    wird, das noch nicht gespeichert ist, kommt es bei field.getDependencies() zu einer NPE, da die Felder und ihre Dependencies erst aus dem XML geladen werden müssen. 18
  19. www.data-experts.de NPE gefangen weil: wenn etwas an einem Feld geändert

    wird, das noch nicht gespeichert ist, kommt es bei field.getDependencies() zu einer NPE, da die Felder und ihre Dependencies erst aus dem XML geladen werden müssen.Besser wäre es wohl vor dieser Validierung den Reload irgendwie zu erzwindgen. 19
  20. www.data-experts.de NPE gefangen weil: wenn etwas an einem Feld geändert

    wird, das noch nicht … 20
  21. www.data-experts.de Formuliere eine kurze aber präzise Zusammenfassung! 21 Tipp #3

    für eine verständliche Git-Historie
  22. www.data-experts.de Quellcode  Kommentar Änderung am Quellcode  Commit-Message 22

  23. www.data-experts.de Altes Verhalten? Neues Verhalten? 23

  24. www.data-experts.de Welche Quereffekte gibt es? 24

  25. www.data-experts.de Änderungen, die nicht offensichtlich sind 25

  26. www.data-experts.de Verlinke den Issue 26

  27. www.data-experts.de Verlinke Stack Overflow 27

  28. www.data-experts.de Warum? 28

  29. www.data-experts.de Bewahre den Kontext des Commits! 29 Tipp #4 für

    eine verständliche Git-Historie
  30. www.data-experts.de 30

  31. www.data-experts.de 31 git add -p

  32. www.data-experts.de 681 insertions(+), 609 deletions(-) 33

  33. www.data-experts.de 34

  34. www.data-experts.de Trenne Änderungen von Refactorings! 35 Tipp #5 für eine

    verständliche Git-Historie
  35. www.data-experts.de Vergessene PDF für Testprojekt 36

  36. www.data-experts.de Verweis vergessen beim einchecken 37

  37. www.data-experts.de Zu viel entfernten Code wieder hinzugefügt 38

  38. www.data-experts.de Versehentlicher Commit entfernt 39

  39. www.data-experts.de Den letzten Commit mit git commit --amend bearbeiten 40

    Tipp #6 für eine verständliche Git-Historie
  40. www.data-experts.de 41

  41. www.data-experts.de commit c251c675015b251be5e33c032c0ae94b1177a439 tree 1c7cdc0f91d7fffb5fe88ee2ce81c751e99120e0 parent 20c7c4b2f2776bba9aff44f4a99f0443552da80c author John Doe

    <john@example.com> author date Tue Mar 27 11:16:03 2018 committer Max Mustermann <max@example.com> commit date Wed Apr 4 14:33:48 2018 message Einige Fehler behoben 42 https://www.atlassian.com/git/tutorials/
  42. www.data-experts.de 43 https://www.atlassian.com/git/tutorials/

  43. www.data-experts.de 44 https://www.atlassian.com/git/tutorials/

  44. www.data-experts.de 45 https://twitter.com/henryhoffman/status/694184106440200192

  45. www.data-experts.de 46 https://stackoverflow.com/q/35075042/4365460

  46. www.data-experts.de 47 # p, pick = use commit # r,

    reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # d, drop = remove commit
  47. www.data-experts.de 48 # p, pick = use commit # r,

    reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # d, drop = remove commit
  48. www.data-experts.de 49

  49. www.data-experts.de 53

  50. www.data-experts.de 54

  51. www.data-experts.de Kenne und nutze die Möglichkeiten von git rebase -i

    55 Tipp #7 für eine verständliche Git-Historie
  52. www.data-experts.de 56

  53. www.data-experts.de 1. „Initialer Commit“ ist ein schwarzes Loch – vermeide

    es 2. Verwende die Standard-Formatierung für Commits 3. Formuliere eine kurze aber präzise Zusammenfassung 4. Bewahre den Kontext des Commits 5. Trenne Änderungen von Refactorings 6. Den letzten Commit mit git commit --amend bearbeiten 7. Kenne und nutze die Möglichkeiten von git rebase –i 57 7 Tipps für eine verständliche Git-Historie
  54. www.data-experts.de • How to Write a Git Commit Message https://chris.beams.io/posts/git-commit/

    • Commit Often, Perfect Later, Publish Once: Git Best Practices https://sethrobertson.github.io/GitBestPractices/ • Advanced Git Tutorials https://www.atlassian.com/git/tutorials/advanced-overview 58 Mehr zum Thema