Skip to content
Back to Glossary
Development & Technology5,400 searches/mo

Git

Mag. Deni Khachukaev
Reviewed by Mag. Deni Khachukaev Β· Founder & Technical Director
Quick Definition

Git is the world's most widely used distributed version control system β€” it captures every code change, coordinates team work across branches, and enables rollbacks and CI/CD.

What is Git?

Git is a distributed version control system (VCS) that Linus Torvalds wrote in 2005 for Linux kernel development. Unlike centralized systems such as SVN, every developer has a full copy of the entire project history locally β€” offline work, merges without a server, and recoverable versions are therefore core properties, not add-ons. The core concepts: A repository (repo) is the project with its full history. A commit is a saved change with author, timestamp, diff, and parent pointer β€” the smallest atomic unit. Branches are pointers to commits that exist in parallel (feature/login, bugfix/hotfix-X, main). Merge and rebase combine branches, where merge creates a "merge commit" and rebase linearizes history. Remotes (origin, fork) are other copies of the repo, typically hosted on GitHub, GitLab, Bitbucket, or Azure DevOps. The standard team workflow: create a feature branch from main β†’ local commits β†’ push to remote β†’ pull request (PR) / merge request β†’ code review by the team β†’ merge to main β†’ CI pipeline auto-deploys. Variants are Git Flow (explicit develop/release/hotfix branches, classic for release cycles), trunk-based development (short-lived feature branches, continuous deployment), and GitHub Flow (minimal, ideal for web apps). Git skills are now basic equipment for any professional software development team. For non-technical team members (design, content), graphical clients like GitHub Desktop, Sourcetree, Fork, or Tower are the easiest entry point. The most common pitfalls: forgotten .gitignore (secrets in the repo), force-push on shared branches (overwriting colleagues' work), huge commits without context. Discipline pays off: clean atomic commits with meaningful messages are the foundation for debugging, code review, and audits.

Key Points

  • Distributed system: every clone holds the full history β€” offline-capable and resilient to outages
  • Atomic commits beat mega-changes: committing each logical unit separately makes debugging and review 10Γ— easier
  • Branches are cheap: feature branches per task, main always stays deployable
  • Hosting platforms (GitHub, GitLab, Bitbucket) add PRs, reviews, issue tracking, and CI on top
  • Commit messages in imperative form ("Add user auth" instead of "Added"): convention from the Git project itself
  • Workflow variants: Git Flow (release-driven), trunk-based (continuous deployment), GitHub Flow (pragmatic)
  • .gitignore is mandatory: never commit secrets, build artifacts, node_modules, or IDE files
  • Force-push on shared branches is taboo β€” overwrites other people's commits without warning
  • Graphical clients (GitHub Desktop, Sourcetree, Fork) make Git usable for non-CLI users without overwhelming them with commands

Practical Example

β€œOur team works in feature branches off main; after code review by two reviewers, a GitHub Action merges automatically and deploys to staging via CI/CD.”

Need professional help with Git?

Our GoldenWing team offers strategic Web & App Development services for Austrian and international clients. From initial consulting to implementation β€” we deliver measurable results.

Explore More Terms

Our glossary contains 20+ marketing and SEO terms.

View All Terms