Basics
Installation
To be able to use Git on your computer, install the Git command-line interface (CLI).
Basic Commands
Some basic commands, as well as commit commands, can be very useful in everyday use of Git CLI.
Best Practices
Follow some recommended best practices for version control in order to properly use Git, especially when working as part of a team.
Authentication
On some platforms like GitLab, one can easily sign in to their account through Git CLI by using a username and password. However, GitHub does not allow you to do that. Instead, you have to set up a personal access token that will be used to identify you when doing operations like pushing content to a remote repository.
Conventional Commits
Conventional Commits is a convention for standardizing commit messages in software projects, as proposed in this specification. It defines a clear structure for commits, making them more readable and enabling automation (e.g., changelog generation and semantic versioning).
For a quick reference, you can check this cheatsheet, which summarizes the most common commit types and formats.
Additionally, tools like commitlint help enforce these conventions. It’s a CLI tool that allows teams to share configurations and integrate commit message validation into their development workflow, including CI pipelines.
Git Branching Strategies
There are several approaches to managing versioning and feature development within a Git workflow. The guides below provide a detailed overview of common branching strategies and their typical use cases:
- https://dev.to/karmpatel/git-branching-strategies-a-comprehensive-guide-24kh
- https://blog.prateekjain.dev/the-ultimate-guide-to-git-branching-strategies-6324f1aceac2?sk=738af8bd3ffaae39788923bbedf771ca
It is important to note that these strategies are not strict rules or universally optimal solutions. Instead, they serve as reference models to help understand different ways to organize a workflow and choose what best fits a project’s needs.
Monolithic Architecture
Monolithic architecture is a straightforward and unified approach to software design, where all components of an application are built and deployed as a single unit. This simplicity makes it easy to develop, test, and deploy, often resulting in strong performance due to reduced communication overhead between components.
It is particularly well-suited for small to medium-sized applications, proof-of-concept projects, and scenarios that require rapid and agile development. Because everything is contained within a single codebase, teams can move quickly without the complexity of managing distributed systems.
For a more detailed introduction and visual explanation, refer to this article.