GitHub logo

GitHub

Powerful collaboration, review, and code management for open source and private development projects
286.2K
250K
+ 1
10.3K

What is 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.
GitHub is a tool in the Code Collaboration & Version Control category of a tech stack.

Who uses GitHub?

Companies
11191 companies reportedly use GitHub in their tech stacks, including Airbnb, Shopify, and Netflix.

Developers
269548 developers on StackShare have stated that they use GitHub.

GitHub Integrations

Visual Studio Code, Slack, Postman, Jira, and GitHub Actions are some of the popular tools that integrate with GitHub. Here's a list of all 670 tools that integrate with GitHub.
Pros of GitHub
1.8K
Open source friendly
1.5K
Easy source control
1.3K
Nice UI
1.1K
Great for team collaboration
867
Easy setup
504
Issue tracker
487
Great community
483
Remote team collaboration
449
Great way to share
442
Pull request and features planning
147
Just works
132
Integrated in many tools
122
Free Public Repos
116
Github Gists
113
Github pages
83
Easy to find repos
62
Open source
60
Easy to find projects
60
It's free
56
Network effect
49
Extensive API
43
Organizations
42
Branching
34
Developer Profiles
32
Git Powered Wikis
30
Great for collaboration
24
It's fun
23
Clean interface and good integrations
22
Community SDK involvement
20
Learn from others source code
16
Because: Git
14
It integrates directly with Azure
10
Standard in Open Source collab
10
Newsfeed
8
Fast
8
Beautiful user experience
8
It integrates directly with Hipchat
7
Easy to discover new code libraries
6
Smooth integration
6
Integrations
6
Graphs
6
Nice API
6
It's awesome
6
Cloud SCM
5
Quick Onboarding
5
Remarkable uptime
5
CI Integration
5
Reliable
5
Hands down best online Git service available
4
Version Control
4
Unlimited Public Repos at no cost
4
Simple but powerful
4
Loved by developers
4
Free HTML hosting
4
Uses GIT
4
Security options
4
Easy to use and collaborate with others
3
Easy deployment via SSH
3
Ci
3
IAM
3
Nice to use
2
Easy and efficient maintainance of the projects
2
Beautiful
2
Self Hosted
2
Issues tracker
2
Easy source control and everything is backed up
2
Never dethroned
2
All in one development service
2
Good tools support
2
Free HTML hostings
2
IAM integration
2
Very Easy to Use
2
Easy to use
2
Leads the copycats
2
Free private repos
1
Profound
1
Dasf
Decisions about GitHub

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

Russtopia Labs
Sr. Doodad Imagineer at Russtopia Labs · | 5 upvotes · 431.7K views
Shared insights

I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.

Gogs is written in Go and is easy to install and configure, IMHO much more so than GitLab, though it's of course less feature-rich; the only major feature I wish Gogs had is an integrated code review tool, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

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
Praveen Mooli
Engineering Manager at Taylor and Francis · | 19 upvotes · 4M views

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more

Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

Check Out My Architecture: CLICK ME

Check out the GitHub repo attached

See more

We're using GitHub for version control as it's an industry standard for version control and our team has plenty of experience using it. We also found many features such as issues and project help us organize. We also really liked the fact that it has the Actions CI platform built in because it allows us to keep more of our development in one place. We chose Slack as our main communication platform because it allows us to organize our communication streams into various channels for specific topics. Additionally, we really liked the integrations as they allow us to keep a lot of our in formation in one place rather than spread around many different apps.

See more
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11.6M 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

Blog Posts

Dec 8 2020 at 5:50PM

DigitalOcean

GitHubMySQLPostgreSQL+11
2
2448
GitHubOptimizelySegment+3
2
1206
Mar 18 2020 at 9:12AM

LaunchDarkly

GitHubLaunchDarkly+2
7
1146
JavaScriptGitHubReact+12
5
4204
GitHubDockerReact+17
41
37371

GitHub's Features

  • Command instructions
  • Source browser
  • Git powered wikis
  • Integrated issue tracking
  • Code reviews with inline comments
  • Compare view
  • Newsfeed
  • Followers
  • Developer profiles
  • Autocompletion for @username mentions

GitHub Alternatives & Comparisons

What are some alternatives to GitHub?
GitLab
GitLab offers git repository management, code reviews, issue tracking, activity feeds and wikis. Enterprises install GitLab on-premise and connect it with LDAP and Active Directory servers for secure authentication and authorization. A single GitLab server can handle more than 25,000 users but it is also possible to create a high availability setup with multiple active servers.
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.
AWS CodeCommit
CodeCommit eliminates the need to operate your own source control system or worry about scaling its infrastructure. You can use CodeCommit to securely store anything from source code to binaries, and it works seamlessly with your existing Git tools.
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.
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.
See all alternatives

GitHub's Followers
249988 developers follow GitHub to keep up with related blogs and decisions.