Git logo

Git

Open Source

Distributed version control system for tracking changes in source code during software development.

Visit websiteGitHub

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

Easy

Maintenance

Low

Learning

Intermediate

Licence

Free / Open source

// 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

ToolChoose it when
SVN (Subversion)You specifically need a centralised model or large-binary locking.
BitbucketYou want hosted Git with built-in CI/CD (Atlassian).
AWS CodeCommitYou 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

  1. Install Git and init/clone a repo

  2. Learn the core model (commits/branches/remotes)

  3. Branch for parallel work

  4. Commit with good hygiene

  5. Open PRs that trigger CI

  6. Adopt a sane branching strategy

// RELATED QA.CODES RESOURCES