Pro Yearly is on sale from $80 to $50! »

Git Lint

Git Lint

A linter for enforcing consistent Git commits. Ensures you maintain a clean, easy to read, and debuggable project history.

E0e036f89c14b3e59640318eedf9670b?s=128

Brooke Kuhlmann

September 05, 2020
Tweet

Transcript

  1. Git Lint Presented by Brooke Kuhlmann

  2. A Non-Descriptive History 27c7c6211aa1 ok, this works 3a0843a69fd6 Do the

    right thing e00e9ebc358c Simplify 74f9dfdac814 I give up 7eca44a9c9bf hack b3eee2292be7 start
  3. A Non-Descriptive History 27c7c6211aa1 ok, this works 3a0843a69fd6 Do the

    right thing e00e9ebc358c Simplify 74f9dfdac814 I give up 7eca44a9c9bf hack b3eee2292be7 start ⁉ ⁉ ⁉ ⁉ ⁉ ⁉
  4. A Non-Descriptive History 27c7c6211aa1 ok, this works 3a0843a69fd6 Do the

    right thing e00e9ebc358c Simplify 74f9dfdac814 I give up 7eca44a9c9bf hack b3eee2292be7 start ⁉ ⁉ ⁉ ⁉ ⁉ ⁉
  5. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest.
  6. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Subject
  7. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Subject (what)
  8. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Subject Body (what)
  9. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Subject Body (what) (why)
  10. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest.
  11. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Fixed Added Updated Removed Refactored
  12. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest.
  13. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. 72 characters
  14. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Space
  15. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. Capitalization
  16. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. 72 characters
  17. Anatomy of a Good Commit Added table of contents to

    README Received feedback that the README was hard to navigate. With a Table of Contents, people are able to quickly scan what the README provides and immediately jump to a topic of interest. actually basically furthermore however obviously of course ...etc...
  18. Readable Git History

  19. Readable Git History Added gem skeleton Added initial architecture and

    implementation Added command line interface Refactored private API Updated README table of contents
  20. Team Efficiency

  21. Team Efficiency 1 hour 1 hour 1 hour

  22. Team Efficiency 1 hour 1 hour 1 hour 3 hours

  23. Git Lint https://www.alchemists.io/projects/git-lint

  24. Your automated Git linter. Git Lint https://www.alchemists.io/projects/git-lint

  25. Getting Started gem install git-lint Installation: https://www.alchemists.io/projects/git-lint

  26. Getting Started gem install git-lint Installation: git checkout <branch> Usage:

    https://www.alchemists.io/projects/git-lint
  27. Getting Started gem install git-lint Installation: git checkout <branch> Usage:

    git-lint --analyze https://www.alchemists.io/projects/git-lint
  28. Git Hook Support .git/hooks/commit-msg https://www.alchemists.io/projects/git-lint

  29. Git Hook Support .git/hooks/commit-msg #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint

  30. Git Hook Support .git/hooks/commit-msg set -o nounset set -o errexit

    set -o pipefail IFS=$'\n\t' #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint
  31. Git Hook Support .git/hooks/commit-msg set -o nounset set -o errexit

    set -o pipefail IFS=$'\n\t' if ! command -v git-lint > /dev/null; then printf "%s\n" "[git]: Git Lint not found. To install, run: gem install git-lint." exit 1 fi #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint
  32. Git Hook Support .git/hooks/commit-msg set -o nounset set -o errexit

    set -o pipefail IFS=$'\n\t' if ! command -v git-lint > /dev/null; then printf "%s\n" "[git]: Git Lint not found. To install, run: gem install git-lint." exit 1 fi git-lint --hook --commit-message "${BASH_ARGV[0]}" ⭐ #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint
  33. Git Hook Support .git/hooks/commit-msg set -o nounset set -o errexit

    set -o pipefail IFS=$'\n\t' if ! command -v git-lint > /dev/null; then printf "%s\n" "[git]: Git Lint not found. To install, run: gem install git-lint." exit 1 fi git-lint --hook --commit-message "${BASH_ARGV[0]}" ⭐ #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint
  34. Git Hook Support .git/hooks/commit-msg set -o nounset set -o errexit

    set -o pipefail IFS=$'\n\t' if ! command -v git-lint > /dev/null; then printf "%s\n" "[git]: Git Lint not found. To install, run: gem install git-lint." exit 1 fi git-lint --hook --commit-message "${BASH_ARGV[0]}" ⭐ #! /usr/bin/env bash https://www.alchemists.io/projects/git-lint
  35. Git Commit Workflow git commit https://www.alchemists.io/projects/git-lint

  36. Git Commit Workflow git commit Did some stuff finished discussed

    work https://www.alchemists.io/projects/git-lint
  37. Git Commit Workflow git commit Did some stuff finished discussed

    work Subject https://www.alchemists.io/projects/git-lint
  38. Git Commit Workflow git commit Did some stuff finished discussed

    work Subject Body https://www.alchemists.io/projects/git-lint
  39. Git Commit Workflow git commit Did some stuff finished discussed

    work https://www.alchemists.io/projects/git-lint
  40. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  41. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  42. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  43. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  44. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  45. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  46. Git Commit Workflow git commit Did some stuff finished discussed

    work 8790d748e650 (Brooke Kuhlmann, 0 seconds ago): Did some stuff Commit Body Leading Line Error. Use blank line between subject and body. Commit Body Paragraph Capitalization Error. Capitalize first word. Line 2: "finished discussed work" Commit Subject Prefix Error. Use: /Fixed/, /Added/, /Updated/, /Removed/, /Refactored/. 1 commit inspected. 3 issues detected (0 warnings, 3 errors). https://www.alchemists.io/projects/git-lint
  47. Customizable Configuration Analyzers • Commit Author • Commit Body •

    Commit Subject • Commit Trailer https://www.alchemists.io/projects/git-lint
  48. Customizable Configuration Analyzers • Commit Author • Commit Body •

    Commit Subject • Commit Trailer Enablement ✅ On Off https://www.alchemists.io/projects/git-lint
  49. Customizable Configuration Analyzers • Commit Author • Commit Body •

    Commit Subject • Commit Trailer Severity ⚠ Warning ❌ Error Enablement ✅ On Off https://www.alchemists.io/projects/git-lint
  50. Customizable Configuration Analyzers • Commit Author • Commit Body •

    Commit Subject • Commit Trailer Severity ⚠ Warning ❌ Error Enablement ✅ On Off Regular Expressions ⭐ https://www.alchemists.io/projects/git-lint
  51. Continuous Integration Support https://www.alchemists.io/projects/git-lint

  52. Continuous Integration Support Circle CI https://www.alchemists.io/projects/git-lint

  53. Continuous Integration Support Circle CI Netlify https://www.alchemists.io/projects/git-lint

  54. Continuous Integration Support Circle CI Netlify Travis CI https://www.alchemists.io/projects/git-lint

  55. https://www.alchemists.io/projects/git-lint Git Lint

  56. Thanks https://www.alchemists.io