Git
Distributed version control system for tracking changes in source code during software development.
Pricing
Free / Open source
Type
Manual & Automation
// VERDICT
Reach for Git for essentially all software version control - it's the universal standard for history, branching and collaboration, and what CI/CD assumes. Skip it only for niche centralised/large-binary workflows where SVN or specialised VCS fit better.
Best for
The de-facto distributed version control system - tracking code history, branching and merging, and underpinning virtually every modern development and CI workflow.
Avoid when
You genuinely need a centralised model for huge binary assets, or a simpler linear tool for non-developers (rare).
CI/CD fit
The basis of modern CI/CD · branch/PR-triggered pipelines · hosted on GitHub/GitLab/Bitbucket
Team fit
Essentially all dev teams · QA/SDETs managing test code · Anyone touching a codebase
Setup
Maintenance
Learning
Licence
// BEST FOR
- Tracking full code history with distributed clones
- Branching and merging for parallel work
- Underpinning PR-based review and CI triggers
- Collaborating via GitHub/GitLab/Bitbucket
- Reverting and bisecting to find regressions
- The universal standard QA automation also lives in
// AVOID WHEN
- You need a centralised model for very large binaries
- A simpler linear tool suits non-developers
- Your assets are huge and binary (consider LFS or alternatives)
- You want server-enforced locking by default
- (In practice, few real reasons to avoid Git)
- A non-distributed workflow is mandated
// QUICK START
git init # or: git clone <url>
git add . && git commit -m "..." # branch, push, open a PR -> CI runs// ALTERNATIVES TO CONSIDER
| Tool | Choose it when |
|---|---|
| SVN (Subversion) | You specifically need a centralised model or large-binary locking. |
| Bitbucket | You want hosted Git with built-in CI/CD (Atlassian). |
| AWS CodeCommit | You want a fully AWS-managed Git service. |
// FEATURES
- Distributed branching and merging
- Stash, rebase, and cherry-pick for in-flight work
- Bisect for hunting down regressions
- Hooks for pre-commit, pre-push, and CI integrations
- Submodules and subtree for managing dependencies
// PROS
- De facto industry standard — universal toolchain support
- Distributed — full history available offline
- Free and open source under GPLv2
- Ecosystem covers GUIs, IDE plugins, and hosting platforms
// CONS
- Steep learning curve for advanced operations (rebase, reflog)
- CLI interface unfriendly to newcomers
- Large-file handling needs Git LFS — extra setup
// EXAMPLE QA WORKFLOW
Install Git and init/clone a repo
Learn the core model (commits/branches/remotes)
Branch for parallel work
Commit with good hygiene
Open PRs that trigger CI
Adopt a sane branching strategy