Backend Handbook
Leapwise
  • 👋Introduction
  • Software Design Principles & Clean Code
    • Atomicity
    • Modularity
    • Hierarchy
    • Loose coupling
    • Asynchronous programming
  • Development Practices
    • JavaDocs
    • Technical Debt
    • Testing Guidelines
      • The Importance of Test Automation
      • The Testing Pyramid
        • Unit Tests
        • Integration Tests
        • End-to-End Tests
      • Mutation Testing
      • Contract Tests
        • REST Controller Contract testing
        • OpenAPI Contract testing
      • Testing Frameworks
        • JUnit 5
        • Testcontainers
        • Mockito
      • Writing Clean Tests - Best Practices
    • Common library
    • Generic CRUD
    • Update Facade
  • Development Tools & Environment
    • Monitoring
    • Performance tuning
    • Multi-tenancy & Configuration Management
    • Git practices
    • CI/CD
    • Maven
  • Project Management
    • Jira
    • Confluence documentation
    • SCRUM
    • Our ways of working
  • LIFE AT LEAPWISE
    • Introduction
    • Who are we?
    • What do we do?
    • Our values
    • Hiring process
      • Hiring: A Mid Frontend Developer's Point of View
    • Benefits we offer
    • Onboarding process
      • Onboarding: A Senior Digital Marketing Specialist's perspective
    • Mentorship program
    • Career development
      • Trainings & certificates we offer
      • Career development: A Senior Software Developer's Insight
    • Community building
    • Juniorship
    • First-hand info from our first team member
    • Join our team
Powered by GitBook
LogoLogo

Company

  • About
  • Culture
  • Services

Insights

  • Leapwise Newsletter
  • Blog

© Leapwise

On this page
  • Git Branching Best Practices
  • Creating commit Messages

Was this helpful?

  1. Development Tools & Environment

Git practices

Understanding how to structure your Git workflow using branches and effectively communicate changes through well-crafted commit messages is crucial for collaboration and code management. Let's explore the essence of effective git branching and commit message practices, alongside the principles of micro commits:

Git Branching Best Practices

  • Using hyphens and slashes as separators: Hyphens and slashes can help structure branch names and improve readability.

  • Using numbers: Incorporating numbers can provide additional context or ordering information for branches with similar names.

  • Using category words: Including category words like "feature," "bugfix," "hotfix," or "refactor" in branch names clarifies their purpose at a glance.

    • Feature branches: Feature branches are dedicated to developing new features. They are created from the develop branch and follow the naming convention: feature/<JIRA ITEM>-<optional short description>

    • Bug fix branches: Bug fix branches address specific issues and are spawned from the develop branch. They adhere to the naming convention: bugfix/<JIRA ITEM>-<optional short description>

    • Hotfix branches: Hotfix branches are reserved for urgent fixes that require immediate deployment. They use the naming convention: hotfix/<optional short description>

    • Refactor branches: Refactor branches focus on code restructuring and improvement. They follow the naming convention: refactor/<JIRA ITEM>-<optional short description>

  • Name length: Keep branch names concise while ensuring they convey the necessary information.

  • Using several naming conventions together: Combining different naming conventions can provide comprehensive context and improve branch management.

Creating commit Messages

  • Separate subject from body: Begin your commit message with a succinct one-line summary (the subject) followed by a blank line and then a more detailed explanation if necessary (the body).

  • Use imperative mood: Write the subject line in imperative mood (e.g., "Fix", "Add", "Update") rather than past tense or present tense. It helps in clearly stating what the commit does.

  • Be concise and specific: Keep your subject line short (around 50 characters or less) but informative. It should quickly convey the essence of the change.

  • Include relevant issue identifiers: If your project uses issue tracking systems like JIRA, GitHub issues, or others, include the relevant issue number or identifier in your commit message. This helps in tracing the context and history of changes.

  • Provide context and why: In the body of the commit message, explain the reasons behind the change and any relevant context. Describe the problem being addressed and why the change is necessary.

  • Format consistently: Maintain a consistent commit message format throughout your project or team. Consistency makes it easier to scan through commit logs and understand changes.

  • Proofread and revise: Before finalizing your commit message, review it to ensure clarity and correctness. Avoid typos, ambiguous language, or unnecessary information.

  • Use structural elements: The commit message can contains the following structural elements, to communicate intent to the consumers of your library:

    • fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning).

    • feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).

    • build:, chore:, ci:, docs:, style:, refactor:, perf:, test:

PreviousMulti-tenancy & Configuration ManagementNextCI/CD

Last updated 12 months ago

Was this helpful?

Page cover image