GitHub logo
Powerful collaboration, review, and code management for open source and private development projects
39.8K
31.3K
+ 1
10K

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
6095 companies reportedly use GitHub in their tech stacks, including Airbnb, Netflix, and reddit.

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

GitHub Integrations

Slack, Postman, Visual Studio Code, Jira, and Atom are some of the popular tools that integrate with GitHub. Here's a list of all 351 tools that integrate with GitHub.

Why developers like GitHub?

Here’s a list of reasons why companies and developers use GitHub
GitHub Reviews

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

Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare · | 35 upvotes · 129.9K views
GitHub
GitHub
Gatsby
Gatsby
Netlify
Netlify
styled-components
styled-components
Redux
Redux
React
React
Firebase
Firebase
#Google
#Frontend
#ReactRally

I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

See more
Robert Zuber
Robert Zuber
CTO at CircleCI · | 21 upvotes · 39.6K views
atCircleCICircleCI
Amazon S3
Amazon S3
GitHub
GitHub
Redis
Redis
PostgreSQL
PostgreSQL
MongoDB
MongoDB

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more
Kir Shatrov
Kir Shatrov
Production Engineer at Shopify · | 19 upvotes · 38.8K views
atShopifyShopify
GitHub
GitHub
Rails
Rails

The core Shopify app has remained a Rails monolith, but we also have hundreds of other Rails apps across the organization. These are not microservices, but domain-specific apps: Shipping (talks with various shipping providers), Identity (single sign on across all Shopify stores), and App Store to name a few. Managing a hundred apps and keeping them up to date with security updates can be tough, so we've developed ServicesDB, an internal app that keeps track of all production services and helps developers to make sure that they don't miss anything important.

ServicesDB keeps a checklist for each app: ownership, uptime, logs, on-call rotation, exception reporting, and gem security updates. If there are problems with any of those, ServicesDB opens a GitHub issue and pings owners of the app to ask them to address it. ServicesDB also makes it easy to query the infrastructure and answer questions like, “How many apps are on Rails 4.2? How many apps are using an outdated version of gem X? Which apps are calling this service?”.

See more
nothingismagick
nothingismagick
GitHub
GitHub
Zeit Now
Zeit Now
SendinBlue
SendinBlue
Vue.js
Vue.js
Node.js
Node.js
FeathersJS
FeathersJS
Quasar Framework
Quasar Framework

Quasar Framework FeathersJS Node.js Vue.js SendinBlue Zeit Now GitHub

It was almost too easy to build a complete Feathers Rest API combined with Quasar SSR and reactive form that we are serving through an i-frame within our main site for serving our newsletter signup and opt-in page. Total time: 15 hrs. Check it out:

https://quasar.dev/newsletter

See more
Seth Ammons
Seth Ammons
Principal Software Developer at SendGrid · | 18 upvotes · 22.8K views
atTwilio SendGridTwilio SendGrid
Buildkite
Buildkite
GitHub
GitHub
#InMemoryDatabases
#Databases
#DataStores
#Languages

When we've gone through code reviews (every code and config change goes through a code review) and feel good about the level of automated testing (no one can sign off on their own code's functionality; a quality assurance engineer or other developer has to verify functionality), we merge our changes via a bot that interacts with GitHub (the bot maintains our versions and change logs). After Buildkite has a green build and our binary is shipped to our repo servers, we are good to roll out deploys to our data centers and to keep pushing the needle on the performance of our system.

#Languages #DataStores #Databases #InMemoryDatabases

See more
Tim Nolet
Tim Nolet
Founder, Engineer & Dishwasher at Checkly · | 17 upvotes · 115.4K views
atChecklyHQChecklyHQ
vuex
vuex
Knex.js
Knex.js
PostgreSQL
PostgreSQL
Amazon S3
Amazon S3
AWS Lambda
AWS Lambda
Vue.js
Vue.js
hapi
hapi
Node.js
Node.js
GitHub
GitHub
Docker
Docker
Heroku
Heroku

Heroku Docker GitHub Node.js hapi Vue.js AWS Lambda Amazon S3 PostgreSQL Knex.js Checkly is a fairly young company and we're still working hard to find the correct mix of product features, price and audience.

We are focussed on tech B2B, but I always wanted to serve solo developers too. So I decided to make a $7 plan.

Why $7? Simply put, it seems to be a sweet spot for tech companies: Heroku, Docker, Github, Appoptics (Librato) all offer $7 plans. They must have done a ton of research into this, so why not piggy back that and try it out.

Enough biz talk, onto tech. The challenges were:

  • Slice of a portion of the functionality so a $7 plan is still profitable. We call this the "plan limits"
  • Update API and back end services to handle and enforce plan limits.
  • Update the UI to kindly state plan limits are in effect on some part of the UI.
  • Update the pricing page to reflect all changes.
  • Keep the actual processing backend, storage and API's as untouched as possible.

In essence, we went from strictly volume based pricing to value based pricing. Here come the technical steps & decisions we made to get there.

  1. We updated our PostgreSQL schema so plans now have an array of "features". These are string constants that represent feature toggles.
  2. The Vue.js frontend reads these from the vuex store on login.
  3. Based on these values, the UI has simple v-if statements to either just show the feature or show a friendly "please upgrade" button.
  4. The hapi API has a hook on each relevant API endpoint that checks whether a user's plan has the feature enabled, or not.

Side note: We offer 10 SMS messages per month on the developer plan. However, we were not actually counting how many people were sending. We had to update our alerting daemon (that runs on Heroku and triggers SMS messages via AWS SNS) to actually bump a counter.

What we build is basically feature-toggling based on plan features. It is very extensible for future additions. Our scheduling and storage backend that actually runs users' monitoring requests (AWS Lambda) and stores the results (S3 and Postgres) has no knowledge of all of this and remained unchanged.

Hope this helps anyone building out their SaaS and is in a similar situation.

See more

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 Stats

- No public GitHub repository available -

GitHub's Followers
31303 developers follow GitHub to keep up with related blogs and decisions.
Mathias Schilling
RachedBenMustapha
Jacob Lamb
praharshit
Ray March Perez
SetupDB
egov VN
Owen15431
Jesús Antonio Zúñiga Arce
Nischhal Subba