Git logo

Git

Fast, scalable, distributed revision control system
320.7K
171.9K
+ 1
6.6K

What is Git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is a tool in the Version Control System category of a tech stack.
Git is an open source tool with 49.1K GitHub stars and 24.9K GitHub forks. Here’s a link to Git's open source repository on GitHub

Who uses Git?

Companies
8906 companies reportedly use Git in their tech stacks, including Netflix, Shopify, and Udemy.

Developers
185348 developers on StackShare have stated that they use Git.

Git Integrations

Bitbucket, SourceTree, Datadog, Azure DevOps, and Swagger UI are some of the popular tools that integrate with Git. Here's a list of all 181 tools that integrate with Git.
Pros of Git
1.4K
Distributed version control system
1.1K
Efficient branching and merging
959
Fast
845
Open source
726
Better than svn
368
Great command-line application
306
Simple
291
Free
232
Easy to use
222
Does not require server
27
Distributed
22
Small & Fast
18
Feature based workflow
15
Staging Area
13
Most wide-spread VSC
11
Role-based codelines
11
Disposable Experimentation
7
Frictionless Context Switching
6
Data Assurance
5
Efficient
4
Just awesome
3
Github integration
3
Easy branching and merging
2
Compatible
2
Flexible
2
Possible to lose history and commits
1
Rebase supported natively; reflog; access to plumbing
1
Light
1
Team Integration
1
Fast, scalable, distributed revision control system
1
Easy
1
Flexible, easy, Safe, and fast
1
CLI is great, but the GUI tools are awesome
1
It's what you do
0
Phinx
Decisions about Git

Here are some stack decisions, common use cases and reviews by companies and developers who chose Git in their tech stack.

Denys
Software engineer at Typeform · | 13 upvotes · 1.7M views
Shared insights
at
  • Go because it's easy and simple, facilitates collaboration , and also it's fast, scalable, powerful.
  • Visual Studio Code because it has one of the most sophisticated Go language support plugins.
  • Vim because it's Vim
  • Git because it's Git
  • Docker and Docker Compose because it's quick and easy to have reproducible builds/tests with them
  • Arch Linux because Docker for Mac/Win is a disaster for the human nervous system, and Arch is the coolest Linux distro so far
  • Stack Overflow because of Copy-Paste Driven Development
  • JavaScript and Python when a something needs to be coded for yesterday
  • PhpStorm because it saves me like 300 "Ctrl+F" key strokes a minute
  • cURL because terminal all the way
See more
Joshua Dean Küpper
CEO at Scrayos UG (haftungsbeschränkt) · | 2 upvotes · 1M views

Git has rendered itself to be an integral part of all development at JustChunks. We heavily rely on Git as our version-control-system of choice and use branches, tags and decentralized-development to achieve our software-management-goals.

See more
Shared insights
on
PostgreSQL ModelerPostgreSQL Modeler

Vue.js vuex Vue Router Quasar Framework Electron Node.js npm Yarn Git GitHub Netlify My tech stack that helps me develop quickly and efficiently. Wouldn't want it any other way.

See more
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 8.9M views

Our whole DevOps stack consists of the following tools:

  • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
  • Respectively Git as revision control system
  • SourceTree as Git GUI
  • Visual Studio Code as IDE
  • CircleCI for continuous integration (automatize development process)
  • Prettier / TSLint / ESLint as code linter
  • SonarQube as quality gate
  • Docker as container management (incl. Docker Compose for multi-container application management)
  • VirtualBox for operating system simulation tests
  • Kubernetes as cluster management for docker containers
  • Heroku for deploying in test environments
  • nginx as web server (preferably used as facade server in production environment)
  • SSLMate (using OpenSSL) for certificate management
  • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
  • PostgreSQL as preferred database system
  • Redis as preferred in-memory database/store (great for caching)

The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

  • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
  • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
  • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
  • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
  • Scalability: All-in-one framework for distributed systems.
  • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
See more
Shared insights
at

Repost

Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.

Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.

Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.

Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.

See more
willem-vanheemstrasystems
Needs advice
on
GitGit
and
JenkinsJenkins

Hi Genius folk, Please advice me on the following. We like for a Jenkins job to start to make use of a webhook on a Git commit. However, the Jenkins job creates a Virtual Machine (with a location), which the committer needs to know to make use of this newly created Virtual Machine. Without the location information, the committer does not know where this Virtual Machine resides.

My question: How is a committer best informed about the outcome of a process that is triggered by the commit?

See more

Blog Posts

Mar 24 2021 at 12:57PM

Pinterest

GitJenkinsKafka+7
3
2119
GitJenkinsGroovy+4
4
2628
GitCloudBees+2
3
4416
Git.NETCloudBees+3
6
1062
Mar 4 2020 at 5:14PM

Atlassian

GitBitbucketWindows+4
3
1022
GitNode.jsFirebase+5
7
2341

Git Alternatives & Comparisons

What are some alternatives to Git?
GitHub
GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
SVN (Subversion)
Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.
Bitbucket
Bitbucket gives teams one place to plan projects, collaborate on code, test and deploy, all with free private Git repositories. Teams choose Bitbucket because it has a superior Jira integration, built-in CI/CD, & is free for up to 5 users.
Perforce
Visibility, access control, workflow and code management for Git environments. Flexibility of collaborating on the same codebase and code reviews using any combination of Perforce and Git workflows and tools without compromise.
Mercurial
Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.
See all alternatives

Git's Followers
172007 developers follow Git to keep up with related blogs and decisions.