Github platform

Github platform DEFAULT

GitHub Overview

GitHub is a collaborative code repository to host and review code, manage projects and build software. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

In November 2019, GitHub announced general availability of GitHub Actions for all users. GitHub Actions feature enables code snippets to be run in a container upon a wide variety of GitHub API calls. This has the promise of enabling users to orchestrate their workflows based on any event. With GitHub Actions, workflows and steps are just code in a repository. Actions enable GitHub to offer CI/CD, which makes it easier to automate how you build, test, and deploy your projects and includes runner support for Linux, macOS, and Windows. It runs your workflows in a container or in a virtual machine.

Similarly, GitLab has integrated CI/CD, but also offers additional capabilities such as application performance and server monitoring. GitLab also includes static and dynamic security testing and container scanning.

GitHub does not come with a deployment platform and needs additional applications, like Heroku, in order to deploy applications. GitLab leverages Kubernetes to create a seamless deployment experience in a single application.


The GitHub integration allows you to manage your environments directly from your GitHub repository.

Features supported:

  • Create a new environment when creating a branch or opening a pull request on GitHub.
  • Rebuild the environment when pushing new code to GitHub.
  • Delete the environment when merging a pull request.



If the repository you are trying to integrate with a project has a default branch that is not (e.g. ), there are a few additional steps you will need to perform to setup the integration. See the Renaming the default branch guide for more information.

1. Generate a token 

To integrate your project with an existing GitHub repository, you first need to generate a token on your GitHub user profile. Simply go to your Settings, then select and click . Here you can Generate a new token.

Give it a description and then ensure the token has the following scopes:

  • To integrate with public repositories:
  • To integrate with your own private repositories:
  • To integrate with your organization’s private repositories: and
  • To automatically create web hooks:

Copy the token and make a note of it (temporarily).

Note that for the integration to work, your GitHub user needs to have permission to push code to the repository.

2. Enable the integration 

Note that only the project owner can manage integrations.

Open a terminal window (you need to have the CLI installed). Enable the GitHub integration as follows:


  • is the project ID for your project
  • is the token you generated in step 1
  • is your github user name
  • is the name of the repository in github (not the git address)

Note that if your repository belongs to an organization, use .


Optional parameters:

  • : Track and deploy branches (true by default)
  • : Delete branches that do not exist in the remote GitHub repository (true by default)
  • : Track and deploy pull-requests (true by default)
  • : If set to , draft pull requests will also have an environment created. If false they will be ignored. If is this value is ignored. ( by default)
  • : to have build the branch specified in a PR. to build the result of merging the PR. ( by default)
  • : Set to to disable cloning of parent environment data when creating a PR environment, so each PR environment starts with no data. ( by default)
  • : Only set if using GitHub Enterprise, hosted on your own server. If so, set this to the base URL of your private server (the part before the user and repository name).

The CLI will create the necessary webhook for you when there’s correct permission set in the given token.

Note that the option depends on being enabled. If is disabled, will automatically be set to false, even if specifically set to true.

3. Add the webhook 

If you see the message , you will need to add a webhook manually:

  1. Copy the hook URL shown in the message.
  2. Go to your GitHub repository and click Settings, select the Webhooks and Services tab, and click Add webhook.
  3. Paste the hook URL, choose application/json for the content type, choose “Send me everything” for the events you want to receive, and click Add webhook.

You can now start pushing code, creating new branches or opening pull requests directly on your GitHub repository.

Note that if you have created your account using the GitHub oAuth Login then in order to use the Platform CLI, you will need to setup a password.

4. Validate the integration 

You can then verify that your integration is functioning properly using the CLI command

Types of environments 

Environments based on GitHub pull requests will have the correct ‘parent’ environment on; they will be activated automatically with a copy of the parent’s data.

However, environments based on (non-pull-request) branches cannot have parents; they will inherit directly from and start inactive by default.

Clones and commits 

When you run or use the clone command shown in the “Git” dropdown in the management console to clone the project, you will actually be cloning from your remote integrated repository, so long as you have the appropriate access to do so.

Your GitHub repository is considered by to be the “source of truth” for the project. The project is only a mirror of that repository, and all commits should be pushed only to GitHub.

  1. Sc auto auctions
  2. Hershey syrup pump offer
  3. Abby roberts makeup
  4. Locking cabinet wood
  5. Racing seat simulator

GitHub Actions for Microsoft Power Platform

GitHub Actions enable developers to build automated software development lifecycle workflows. With GitHub Actions for Microsoft Power Platform, you can create workflows in your repository to build, test, package, release, and deploy apps; perform automation; and manage bots and other components built on Microsoft Power Platform.

GitHub Actions for Microsoft Power Platform include the following capabilities:

  • Importing and exporting application metadata (also known as solutions) that contain various platform components such as canvas apps, model-driven apps, UI flows, Power Virtual Agents chatbots, AI Builder models, customer engagement apps (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing, and Dynamics 365 Project Service Automation), and connectors between development environments and source control.

  • Deploying to downstream environments.

  • Provisioning or de-provisioning environments

  • Performing static analysis checks against solutions by using Power Apps solution checker.

You can use GitHub Actions for Microsoft Power Platform along with any other available GitHub Actions to compose your build and release workflows. Workflows that teams commonly put in place include provisioning development environments, exporting from a development environment to source control, generating builds, and releasing apps. GitHub Actions for Microsoft Power Platform are available at

Key concepts

GitHub Actions enable you to create custom software development lifecycle workflows directly in your GitHub repository. For an overview of GitHub Actions and core concepts, review the following articles:

What are GitHub Actions for Microsoft Power Platform?

GitHub Actions for Microsoft Power Platform is a collection of Microsoft Power Platform–specific GitHub Actions that eliminate the need to manually download custom tooling and scripts to manage the application lifecycle of apps built on Microsoft Power Platform. The tasks can be used individually, such as importing a solution into a downstream environment, or used together in a workflow to orchestrate a scenario such as "generate a build artifact," "deploy to test," or "harvest maker changes." The build tasks can largely be categorized into four types:

  • Helper

  • Quality check

  • Solution

  • Environment management

For more information about individual tasks, go to GitHub Actions for Microsoft Power Platform.

Get GitHub Actions for Microsoft Power Platform

You can use GitHub Actions for Microsoft Power Platform by adding the actions in your workflow definition file (.yml). Sample workflow definitions are available from the GitHub Actions lab.

Connection to environments

To interact with a Dataverse environment, a secret must be created that enables the various GitHub Actions to perform the required task. Two types of connections are available:

  • Username/password: Configured as a generic service connection with username and password. Username/password authentication doesn't support multifactor authentication.
  • Service principal and client secret: This connection type uses service principal–based authentication and supports multifactor authentication. Service principal authentication

Available runners

GitHub Actions for Microsoft Power Platform can run on both Microsoft Windows agents and Linux agents.

Frequently asked questions

How do I get started with GitHub Actions?

Tutorial: Get started with GitHub Actions is available right now for you try out. The tutorials show how to use service principal authentication and standard username/password authentication.

How do I get GitHub Actions for Microsoft Power Platform working in my repository?

Go to the GitHub Marketplace for Actions and search for Power Platform. When you arrive on the page, select the green button to instatiate the actions into your repository.

GitHub Actions Install

Do GitHub Actions only work for Power Apps?

GitHub Actions work for both canvas and model-driven apps, Power Virtual Agents, UI flows and traditional flows, AI Builder, custom connectors, and dataflows, all of which can now be added to a solution. Also included are customer engagement apps.

Can I include flow and canvas apps?

Yes, flows and canvas apps are solution-aware, so if these components are added to your solution they can participate in the lifecycle of your app. However, some steps still require manual configuration, which will be addressed later this year when we introduce environment variables and connectors. For a list of current limitations, go to Known limitations.

How much does GitHub Actions for Microsoft Power Platform cost?

GitHub Actions are available at no cost. However, a valid GitHub subscription is required to use the actions on GitHub. To get started, 2,000 action minutes/month are available for free. More information: GitHub pricing

Can I use GitHub Actions for Microsoft Power Platform with Power Apps portals?

Yes. You can upload portal data and use the deployment profile to customize the deployment parameters.

See also

Available GitHub Actions Hands on Lab

Available GitHub Actions

GitHub Tutorial - Beginner's Training Guide

What is GitHub? How to start using the code hosting platform that allows you to easily manage and collaborate on programming projects

GitHub logo
Getty Images
  • GitHub is a code hosting platform that allows for managing, maintaining, and collaborating on open-source programming projects.
  • To use GitHub, you first need to install a "Git" program, which is software that tracks changes in files.
  • GitHub is the most popular platform for Git repositories and a standard site for coders. 
  • Visit Insider's Tech Reference library for more stories.

If you're interested in software or software development, you've likely heard of GitHub. 

For a coder, GitHub is akin to what Pinterest offers to an interior designer — a place where a person goes not just to upload content, but also for creative inspiration and collaboration.

Here's what you need to know about GitHub and how it relates to coding.

What is GitHub?

GitHub is, fundamentally, a hosting platform for coders. The cloud-based service allows coders to effectively manage and maintain open-source programming projects while collaborating with others.

To understand how GitHub works, you have to have an understanding of "Git" and the idea of "version control" in relation to Git.

Git, started by Linux creator Linus Torvalds, is an open-source version control system that tracks changes in files over time. 

Version control is an important system when it comes to coding. It enables coders to be nimble with programming, and allows for apps to constantly have new version releases, expansion to other platforms, and bug fixes, among other tracked changes.

Version control systems like Git help maintain the integrity and security of ever-evolving code by safeguarding modifications, and those revisions are then hosted by GitHub, or an alternative "repository" hosting service — although GitHub is the most popular among developers.

This allows developers to easily collaborate, allowing them to download a new version of the software, make changes, and upload the newest revision. Every developer can see these new changes, download them, and contribute.

Advantages of GitHub

Among the sites that feature Git repositories— which is the term used for where Git is stored, often shortened to "repo" —  GitHub is the most popular, and thus, has the most to offer collaboratively. Put simply, it's the standard for coders.

There are several features that have made GitHub so popular with developers.

  • Forking: GitHub makes it easy to forge your own coding project based on an existing one hosted on GitHub. With "forking," you can easily take the blueprint of a project and fork it off in a different, more applicable direction for your own use, without affecting the original repository. 
  • Pull requests: GitHub also offers support to coders in the form of "pull requests." Say you've forked a repo and want recognition for your efforts. You can communicate that to the original authors of the repo via GitHub's pull request feature. Those creators will have a chance to inspect your work and decide if they want to include your fork in the scope of the original project.
  • Social networking: The collaborative aspects of GitHub make it more than a hosting service, but also a social networking site, complete with user profiles and a history of user contributions in the form of pull requests. Projects are also discussed publicly as they're revised, making it easy to quickly crowdsource any needed coding expertise.
  • Branching: When collaborating, GitHub allows "branching," where a repository can be duplicated and changed by another collaborator without affecting the original code. Once tested, the new code can then be merged and incorporated into the original.
  • Changelogs: GitHub also keeps changelogs that tracks a project's changes and who made them — crucial for good collaboration among multiple programmers.

How to start using Github

If you're looking for a resource to maintain and share code, you can easily install Git and sign up for GitHub for free. Here's how to get started:

1. First, you'll need to install the Git version control system, which you can download for free. Follow the directions specific to the device you're using.

2. Next, you can create your GitHub account at A free account will have some limitations, but gives you access to both public and private repositories. account creation page
Emma Witman/Insider

3. With your free account, you can get started right away and create a repository by clicking Create a repository on the GitHub welcome page to start a new project.

GitHub homepage with option to create a repository.
Emma Witman/Insider

From the same page, you can also select Start Learning to take an "Introduction to GitHub" course if you need more expertise before getting started with creating a repository.

More:Tech How ToGitHubGitCoding

For you


Platform github


Hosting service for software projects using Git

Not to be confused with Git or GitLab.

GitHub, Inc. is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git, plus its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, continuous integration and wikis for every project.[4] Headquartered in California, it has been a subsidiary of Microsoft since 2018.[5]

It is commonly used to host open-source projects.[6] As of January 2020, GitHub reports having over 40 million users[7] and more than 190 million repositories[8] (including at least 28 million public repositories).[9] It is the largest source code host as of April 2020[update].[10]


Development of the platform began on October 19, 2007.[11][12][13] The site was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, P. J. Hyett and Scott Chacon after it had been made available for a few months prior as a beta release.[14]

Organizational structure[edit]

GitHub, Inc. was originally a flat organization with no middle managers; in other words, "everyone is a manager" (self-management).[15] Employees could choose to work on projects that interested them (open allocation), but salaries were set by the chief executive.[16][needs update]

In 2014, GitHub, Inc. introduced a layer of middle management.[17]

Finance[edit] was a bootstrappedstart-up business, which in its first years provided enough revenue to be funded solely by its three founders and start taking on employees.[18] In July 2012, four years after the company was founded, Andreessen Horowitz invested $100 million in venture capital.[4] In July 2015 GitHub raised another $250 million of venture capital in a series B round. Investors were Sequoia Capital, Andreessen Horowitz, Thrive Capital and other venture capital funds.[19] As of 2018, GitHub was estimated to be generating $200–300 million in Annual Recurring Revenue.[1] The GitHub service was developed by Chris Wanstrath, P. J. Hyett, Tom Preston-Werner and Scott Chacon using Ruby on Rails, and started in February 2008. The company, GitHub, Inc., has existed since 2007 and is located in San Francisco.[20]

The shading of the map illustrates the number of users as a proportion of each country's Internet population. The circular charts surrounding the two hemispheres depict the total number of GitHub users (left) and commits (right) per country.

On February 24, 2009, GitHub announced that within the first year of being online, GitHub had accumulated over 46,000 public repositories, 17,000 of which were formed in the previous month. At that time, about 6,200 repositories had been forked at least once and 4,600 had been merged.

That same year, the site was harnessed by over 100,000 users, according to GitHub, and had grown to host 90,000 unique public repositories, 12,000 having been forked at least once, for a total of 135,000 repositories.[21]

In 2010, GitHub was hosting 1 million repositories.[22] A year later, this number doubled.[23]ReadWriteWeb reported that GitHub had surpassed SourceForge and Google Code in total number of commits for the period of January to May 2011.[24] On January 16, 2013, GitHub passed the 3 million users mark and was then hosting more than 5 million repositories.[25] By the end of the year, the number of repositories was twice as great, reaching 10 million repositories.[26]

In 2012, GitHub raised $100 million in funding from Andreessen Horowitz with $750 million valuation.[27] On July 29, 2015, GitHub stated it had raised $250 million in funding in a round led by Sequoia Capital. Other investors of that round included Andreessen Horowitz, Thrive Capital, and IVP (Institutional Venture Partners).[28] The round valued the company at approximately $2 billion.[29]

In 2015, GitHub opened an office in Japan, its first outside of the U.S.[30] In 2016, GitHub was ranked No. 14 on the Forbes Cloud 100 list.[31] It has not been featured on the 2018, 2019 and 2020 lists.[32]

On February 28, 2018, GitHub fell victim to the third largest distributed denial-of-service (DDoS) attack in history, with incoming traffic reaching a peak of about 1.35 terabits per second.[33]

On June 19, 2018, GitHub expanded its GitHub Education by offering free education bundles to all schools.[34][35]

Acquisition by Microsoft[edit]

Microsoft on top of list of the ten organizations with the most open-source contributors on GitHub in 2016[36]

From 2012, Microsoft became a significant user of GitHub, using it to host open-source projects and development tools such as .NET Core, Chakra Core, MSBuild, PowerShell, PowerToys, Visual Studio Code, Windows Calculator, Windows Terminal and the bulk of its product documentation (now to be found on Microsoft Docs).[37][38]

On June 4, 2018, Microsoft announced its intent to acquire GitHub for US$7.5 billion. The deal closed on October 26, 2018.[39] GitHub continued to operate independently as a community, platform and business.[40] Under Microsoft, the service was led by Xamarin's Nat Friedman, reporting to Scott Guthrie, executive vice president of Microsoft Cloud and AI. GitHub's CEO, Chris Wanstrath, was retained as a "technical fellow," also reporting to Guthrie.

There have been concerns from developers Kyle Simpson, JavaScript trainer and author, and Rafael Laguna, CEO at Open-Xchange over Microsoft's purchase, citing uneasiness over Microsoft's handling of previous acquisitions, such as Nokia's mobile business or Skype.[41][42]

This acquisition was in line with Microsoft's business strategy under CEO Satya Nadella, which has seen a larger focus on the cloud computing services, alongside development of and contributions to open-source software.[5][38][43]Harvard Business Review argued that Microsoft was intending to acquire GitHub to get access to its user base, so it can be used as a loss leader to encourage use of its other development products and services.[44]

Concerns over the sale bolstered interest in competitors: Bitbucket (owned by Atlassian), GitLab (a commercial open source product that also runs a hosted service version) and SourceForge (owned by BIZX, LLC) reported that they had seen spikes in new users intending to migrate projects from GitHub to their respective services.[45][46][47][48]

In September 2019, GitHub acquired Semmle, a code analysis tool.[49] In February 2020, GitHub launched in India under the name GitHub India Private Limited.[50] In March 2020, GitHub announced that they were acquiring npm, a JavaScript packaging vendor, for an undisclosed sum of money.[51] The deal was closed on 15 April 2020.[52]

In early July 2020, the GitHub Archive Program was established, to archive its open source code in perpetuity.[53]


GitHub's mascot is an anthropomorphized "octocat" with five octopus-like arms.[54][55] The character was created by graphic designer Simon Oxley as clip art to sell on iStock,[56] a website that enables designers to market royalty-freedigital images. GitHub became interested in Oxley's work after Twitter selected a bird that he designed for their own logo.[57] The illustration GitHub chose was a character that Oxley had named Octopuss.[56] Since GitHub wanted Octopuss for their logo (a use that the iStock license disallows), they negotiated with Oxley to buy exclusive rights to the image.[56]

GitHub renamed Octopuss to Octocat,[56] and trademarked the character along with the new name.[54] Later, GitHub hired illustrator Cameron McEfee to adapt Octocat for different purposes on the website and promotional materials; McEfee and various GitHub users have since created hundreds of variations of the character, which are available on The Octodex.[58][59]


Projects on can be accessed and managed using the standard Git command-line interface; all standard Git commands work with it. also allows users to browse public repositories on the site. Multiple desktop clients and Git plugins are also available. The site provides social networking-like functions such as feeds, followers, wikis (using wiki software called Gollum) and a social network graph to display how developers work on their versions ("forks") of a repository and what fork (and branch within that fork) is newest.

Anyone can browse and download public repositories but only registered users can contribute content to repositories. With a registered user account, users are able to have discussions, manage repositories, submit contributions to others' repositories, and review changes to code. began offering unlimited private repositories at no cost in January 2019 (limited to three contributors per project). Previously, only public repositories were free.[60][61][62] On April 14, 2020, GitHub made "all of the core GitHub features" free for everyone, including "private repositories with unlimited collaborators."[63]

The fundamental software that underpins GitHub is Git itself, written by Linus Torvalds, creator of Linux. The additional software that provides the GitHub user interface was written using Ruby on Rails and Erlang by GitHub, Inc. developers Wanstrath,[64] Hyett, and Preston-Werner.


The main purpose of is to facilitate the version control and issue tracking aspects of software development. Labels, milestones, responsibility assignment, and a search engine are available for issue tracking. For version control, Git (and by extension allows pull requests to propose changes to the source code. Users with the ability to review the proposed changes can see a diff of the requested changes and approve them. In Git terminology, this action is called "committing" and one instance of it is a "commit." A history of all commits is kept and can be viewed at a later time.

In addition, GitHub supports the following formats and features:

  • Documentation,[65] including automatically rendered README files in a variety of Markdown-like file formats (see README § On GitHub)
  • Wikis[66]
  • GitHub Actions,[67] which allows building continuous integration and continuous deployment pipelines for testing, releasing and deploying software without the use of third-party websites/platforms
  • Graphs: pulse, contributors, commits, code frequency, punch card, network, members
  • Integrations Directory[68]
  • Email notifications[69]
  • Discussions[70]
  • Option to subscribe someone to notifications by @ mentioning them.[71]
  • Emojis[72]
  • Nested task-lists within files
  • Visualization of geospatial data
  • 3D render files that can be previewed using a new integrated STL file viewer that displays the files on a "3D canvas."[73] The viewer is powered by WebGL and Three.js.
  • Photoshop's native PSD format can be previewed and compared to previous versions of the same file.
  • PDF document viewer
  • Security Alerts of known Common Vulnerabilities and Exposures in different packages

GitHub's Terms of Service do not require public software projects hosted on GitHub to meet the Open Source Definition. The terms of service state, "By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories."[74]

GitHub Enterprise[edit]

GitHub Enterprise is a self-managed version of with similar functionality. It can be run on an organization's own hardware or on a cloud provider, and it has been available since November 2011.[75] In November 2020, source code for GitHub Enterprise Server was leaked online in apparent protest against DMCA takedown of YouTube-dl. According to GitHub, the source code came from GitHub accidentally sharing the code with Enterprise customers themselves, not from an attack on GitHub servers.[76][77]

GitHub Pages[edit]

GitHub Pages is a staticweb hosting service offered by GitHub since 2008 to GitHub users for hosting user blogs, project documentation,[78][79] or even whole books created as a page.[80]

All GitHub Pages content is stored in a Git repository, either as files served to visitors verbatim or in Markdown format. GitHub is seamlessly integrated with Jekyll static web site and blog generator and GitHub continuous integration pipelines. Each time the content source is updated, Jekyll regenerates the website and automatically serves it via GitHub Pages infrastructure.[81]

As with the rest of GitHub, it includes both free and paid tiers of service, instead of being supported by web advertising. Web sites generated through this service are hosted either as subdomains of the domain, or as custom domains bought through a third-party domain name registrar.[82] When custom domain is set on a GitHub Pages repo a Let's Encrypt certificate for it is generated automatically. Once the certificate has been generated Enforce HTTPS can be set for the repository's website to transparently redirect all HTTP requests to HTTPS.[83][84]


GitHub also operates a pastebin-style site called Gist,[14] which is for code snippets, as opposed to GitHub proper, which is for larger projects.[citation needed] Tom Preston-Werner débuted the feature at a Ruby conference in 2008.[85]

Gist builds on the traditional simple concept of a pastebin by adding version control for code snippets, easy forking, and TLS encryption for private pastes. Because each "gist" has its own Git repository, multiple code snippets can be contained in a single paste and they can be pushed and pulled using Git.[citation needed]

Unregistered users were able to upload Gists until February 18, 2018, when uploading gists became available only to logged-in users, to mitigate spamming.[86]

Education program[edit]

GitHub launched a new program called the GitHub Student Developer Pack to give students free access to popular development tools and services. GitHub partnered with Bitnami, Crowdflower, DigitalOcean, DNSimple, HackHands, Namecheap, Orchestrate, Screenhero, SendGrid, Stripe, Travis CI and Unreal Engine to launch the program.[87]

In 2016 GitHub announced the launch of the GitHub Campus Experts program[88] to train and encourage students to grow technology communities at their universities. The Campus Experts program is open to university students of 18 years and older across the world.[89] GitHub Campus Experts are one of the primary ways that GitHub funds student-oriented events and communities, Campus Experts are given access to training, funding, and additional resources to run events and grow their communities. To become a Campus Expert applicants must complete an online training course consisting of multiple modules designed to grow community leadership skills.

GitHub Marketplace service[edit]

GitHub also provides some software as a service ("SaaS") integrations for adding extra features to projects. Those services include:

  • Project management for software teams. Automatically see pull requests, automated builds, reviews, and deployments across all of your repositories in GitHub.
  • Rollbar: Integrate with GitHub to provide real time debugging tools and full-stack exception reporting. It is compatible with all popular code languages, such as JavaScript, Python, .NET, Ruby, PHP, Node.js, Android, iOS, Go, Java, and C#.
  • Codebeat: For automated code analysis specialized in web and mobile developers. The supported languages for this software are: Elixir, Go, Java, Swift, JavaScript, Python, Ruby, Kotlin, Objective-C, and TypeScript.
  • Travis CI: To provide confidence for your apps while doing test and ship. Also gives full control over the build environment, to adapt it to the code. Supported languages: Go, Java, JavaScript, Objective-C, Python, PHP, Ruby, and Swift.
  • GitLocalize: Developed for teams that are translating their content from one point to another. GitLocalize automatically syncs with your repository so you can keep your workflow on GitHub. It also keeps you updated on what needs to be translated.


GitHub Sponsors allows users to make monthly money donations to projects hosted on GitHub.[90] The public beta was announced on May 23, 2019, and the project accepts wait list registrations. The Verge said that GitHub Sponsors "works exactly like Patreon" because "developers can offer various funding tiers that come with different perks, and they’ll receive recurring payments from supporters who want to access them and encourage their work" except with "zero fees to use the program." Furthermore, GitHub offer incentives for early adopters during the first year: it pledges to cover payment processing costs, and match sponsorship payments up to $5,000 per developer. Furthermore, users still can use other similar services like Patreon and Open Collective and link to their own websites.[91][92]

GitHub Archive Program[edit]

In July 2020, GitHub stored a February archive of the site[53] in an abandoned mountain mine in Svalbard, Norway, part of the Arctic World Archive and not far from the Svalbard Global Seed Vault. The archive contained the code of all active public repositories, as well as that of dormant, but significant public repositories. The 21TB of data was stored on piqlFilm archival film reels as matrix (2D) barcode (Boxing barcode), and is expected to last 500–1,000 years.[93][94][95][96]

The GitHub Archive Program is also working with partners on Project Silica, in an attempt to store all public repositories for 10,000 years. It aims to write archives into the molecular structure of quartz glass platters, using a high-precision laser that pulses a quadrillion (1,000,000,000,000,000) times per second.[96]


Harassment allegations[edit]

In March 2014, GitHub programmer Julie Ann Horvath alleged that founder and CEO Tom Preston-Werner and his wife, Theresa, engaged in a pattern of harassment against her that led to her leaving the company.[97] In April 2014, GitHub released a statement denying Horvath's allegations.[98][99] However, following an internal investigation, GitHub confirmed the claims. GitHub's CEO Chris Wanstrath wrote on the company blog, "The investigation found Tom Preston-Werner in his capacity as GitHub's CEO acted inappropriately, including confrontational conduct, disregard of workplace complaints, insensitivity to the impact of his spouse's presence in the workplace, and failure to enforce an agreement that his spouse should not work in the office."[100] Preston-Werner subsequently resigned from the company.[101] The firm then announced it would implement new initiatives and trainings "to make sure employee concerns and conflicts are taken seriously and dealt with appropriately."[101]


On July 25, 2019, a developer based in Iran wrote on Medium that GitHub had blocked his private repositories and prohibited access to GitHub pages.[102] Soon after, GitHub confirmed that it was now blocking developers in Iran, Crimea, Cuba, North Korea, and Syria from accessing private repositories.[103] However, GitHub reopened access to GitHub Pages days later, for public repositories regardless of location. It was also revealed that using GitHub while visiting sanctioned countries could result in similar action occurring on a user's account. GitHub responded to complaints and the media through a spokesperson, saying:

GitHub is subject to US trade control laws, and is committed to full compliance with applicable law. At the same time, GitHub's vision is to be the global platform for developer collaboration, no matter where developers reside. As a result, we take seriously our responsibility to examine government mandates thoroughly to be certain that users and customers are not impacted beyond what is required by law. This includes keeping public repositories services, including those for open source projects, available and accessible to support personal communications involving developers in sanctioned regions.[104][105]

Developers who feel that they should not have restrictions can appeal for the removal of said restrictions, including those who only travel to, and do not reside in, those countries. GitHub has forbidden the use of VPNs and IP proxies to access the site from sanctioned countries, as purchase history and IP addresses are how they flag users, among other sources.[106]


Main article: Censorship of GitHub

On December 3, 2014, Russia blacklisted because GitHub initially refused to take down user-posted suicide manuals.[107] After a day, Russia withdrew its block,[108] and GitHub began blocking specific content and pages in Russia.[109] On December 31, 2014, India blocked along with 31 other websites over pro-ISIS content posted by users;[110] the block was lifted three days later.[111] On October 8, 2016, Turkey blocked GitHub to prevent email leakage of a hacked account belonging to the country's energy minister.[112]

On March 26, 2015, a large-scale DDoS attack was launched against that lasted for just under five days.[113] The attack, which appeared to originate from China, primarily targeted GitHub-hosted user content describing methods of circumventing Internet censorship.[114][115][116]

On April 19, 2020, Chinese police detained Chen Mei and Cai Wei (volunteers for Terminus 2049, a project hosted on GitHub), and accused them of "picking quarrels and provoking trouble." Cai and Chen archived news articles, interviews, and other materials published on Chinese media outlets and social media platforms that have been removed by censors in China.[117]

ICE contract[edit]

GitHub has a $200,000 contract with U.S. Immigration and Customs Enforcement (ICE) for the use of their on-site product GitHub Enterprise Server. This contract was renewed in 2019, despite internal opposition from many GitHub employees. In an email sent to employees, later posted to the GitHub blog on October 9, 2019, CEO Nat Friedman stated "The revenue from the purchase is less than $200,000 and not financially material for our company." He announced that GitHub had pledged to donate $500,000 to "nonprofit groups supporting immigrant communities targeted by the current administration."[118] In response at least 150 GitHub employees signed an open letter re-stating their opposition to the contract, and denouncing alleged human rights abuses by ICE. As of November 13, 2019, five workers had resigned over the contract.[119][120][121]

The ICE contract dispute came into focus again in June 2020 due to the company's decision to abandon "master/slave" branch terminology, spurred by the George Floyd protests and Black Lives Matter movement.[122] Detractors of GitHub describe the branch renaming to be a form of performative activism and have urged GitHub to cancel their ICE contract instead.[123] An open letter from members of the open source community was shared on GitHub in December 2019, demanding that the company drop their contract with ICE and provide more transparency into how they conduct business and partnerships. The letter has been signed by more than 700 people.[124]

Capitol riot comments and employee firing[edit]

In January 2021, GitHub fired one of its employees after he expressed concern for colleagues as a violent mob stormed the U.S. Capitol, calling some of the rioters "Nazis."[125] After an investigation, GitHub's COO said there were "significant errors of judgment and procedure" with the company's decision to fire the employee. As a result of the investigation, GitHub reached out to the employee, and the company's head of human resources resigned.[126][127]

Developed projects[edit]

  • Atom, a free and open-source text and source code editor
  • Electron, an open-source framework to use JavaScript-based websites as desktop applications.

See also[edit]


  1. ^ ab"GitHub was also talking to Google about a deal, but went with Microsoft instead".
  2. ^"GitHub Diversity". GitHub. Archived from the original on March 22, 2021. Retrieved November 26, 2019.
  3. ^"GitHub". GitHub. Archived from the original on March 22, 2021. Retrieved September 6, 2020.
  4. ^ abWilliams, Alex (July 9, 2012). "GitHub Pours Energies into Enterprise – Raises $100 Million From Power VC Andreessen Horowitz". TechCrunch. Archived from the original on September 19, 2020. Retrieved June 25, 2017.
  5. ^ ab"Microsoft has acquired GitHub for $7.5B in stock". TechCrunch. Archived from the original on October 25, 2020. Retrieved June 4, 2018.
  6. ^"The Problem With Putting All the World's Code in GitHub". Wired. June 29, 2015. Archived from the original on June 29, 2015. Retrieved June 29, 2015.
  7. ^"User search". GitHub. Archived from the original on October 16, 2019. Retrieved January 29, 2019.
  8. ^"Github Number of Repositories". GitHub. Archived from the original on December 2, 2020. Retrieved October 5, 2020.
  9. ^"Repository search for public repositories". GitHub. Archived from the original on November 5, 2020. Retrieved June 5, 2018.
  10. ^Gousios, Georgios; Vasilescu, Bogdan; Serebrenik, Alexander; Zaidman, Andy. "Lean GHTorrent: GitHub Data on Demand"(PDF). The Netherlands: Delft University of Technology & †Eindhoven University of Technology: 1. Archived(PDF) from the original on April 25, 2020. Retrieved July 9, 2014.
  11. ^Weis, Kristina (February 10, 2014). "GitHub CEO and Co-Founder Chris Wanstrath Keynoting Esri's DevSummit!". Archived from the original on March 22, 2021. Retrieved February 13, 2018.
  12. ^Preston-Werner, Tom (October 19, 2008). "GitHub Turns One!". GitHub. Archived from the original on April 21, 2014. Retrieved March 28, 2014.
  13. ^Wanstrath, Chris (December 7, 2009). "The first commit was on a Friday night in October, around 10 pm". Archived from the original on March 22, 2021. Retrieved November 4, 2017.
  14. ^ abCatone, Josh (July 24, 2008). "GitHub Gist is Pastie on Steroids". Archived from the original on March 22, 2021. Retrieved February 13, 2018.
  15. ^Tomayko, Ryan (April 2, 2012). "Show How, Don't Tell What - A Management Style". Archived from the original on December 9, 2020. Retrieved August 28, 2013.
  16. ^Hardy, Quentin. "Dreams of 'Open' Everything". New York Times. Archived from the original on November 20, 2020. Retrieved February 13, 2018.
  17. ^Evelyn, Rusli (July 17, 2014). "Harassment claims make startup GitHub grow up". The Wall Street Journal. Archived from the original on June 15, 2018. Retrieved July 18, 2014.
  18. ^Michael, Carney (June 20, 2013). "GitHub CEO explains why the company took so damn long to raise venture capital". PandoDaily. Archived from the original on December 3, 2020. Retrieved July 10, 2014.
  19. ^Lardinois, Frederic. "GitHub Raises $250M Series B Round To Take Risks". TechCrunch. Archived from the original on November 30, 2020. Retrieved July 4, 2016.
  20. ^Neumann, Alexander. "GitHub populärer als SourceForge und Google Code". heise Developer. Archived from the original on August 28, 2020. Retrieved June 8, 2018.
  21. ^Dascalescu, Dan (November 3, 2009). "The PITA Threshold: GitHub vs. CPAN". Dan Dascalescu's Wiki. Archived from the original on June 18, 2020. Retrieved February 13, 2018.
  22. ^"One Million Repositories, Git Official Blog". July 25, 2010. Archived from the original on March 13, 2015. Retrieved April 29, 2011.
  23. ^"Those are some big numbers, Git Official Blog". April 20, 2011. Archived from the original on April 21, 2014. Retrieved April 29, 2011.
  24. ^"Github Has Surpassed Sourceforge and Google Code in Popularity". Archived from the original on August 1, 2020. Retrieved February 13, 2018.
  25. ^"Code-sharing site Github turns five and hits 3.5 million users, 6 million repositories". April 11, 2013. Archived from the original on September 27, 2020. Retrieved April 11, 2013.
  26. ^"10 Million Repositories". December 23, 2013. Archived from the original on October 9, 2017. Retrieved December 28, 2013.
  27. ^"GitHub Pours Energies into Enterprise – Raises $100 Million From Power VC Andreessen Horowitz". TechCrunch. Archived from the original on August 1, 2020. Retrieved February 7, 2020.
  28. ^"GitHub Raises $250M Series B Round Led By Sequoia Capital". TechCrunch. Archived from the original on August 1, 2020. Retrieved February 7, 2020.
  29. ^"GitHub raises $250 million in new funding, now valued at $2 billion". Fortune. July 29, 2015. Archived from the original on August 7, 2020. Retrieved July 30, 2015.
  30. ^"GitHub Expands To Japan, Its First Office Outside The U.S."TechCrunch. June 4, 2015. Archived from the original on October 23, 2020. Retrieved June 25, 2017.
  31. ^"Forbes Cloud 100". Forbes. Archived from the original on October 28, 2016. Retrieved October 31, 2016.
  32. ^"GitHub". Forbes. Archived from the original on November 20, 2020. Retrieved October 6, 2020.
  33. ^"GitHub Survived the Biggest DDoS Attack Ever Recorded". Archived from the original on December 6, 2020. Retrieved March 2, 2018.
  34. ^Hughes, Matthew (June 19, 2018). "GitHub's free education bundle is now available to all schools". The Next Web. Archived from the original on November 9, 2020. Retrieved July 2, 2018.
  35. ^"GitHub Education is a free software development package for schools". Engadget. Archived from the original on June 21, 2019. Retrieved July 2, 2018.
  36. ^"The state of the Octoverse 2016". Archived from the original on April 5, 2017.
  37. ^"Microsoft confirms it will acquire GitHub for $7.5 billion". VentureBeat. June 4, 2018. Archived from the original on November 12, 2020. Retrieved June 4, 2018.
  38. ^ ab"Microsoft confirms it will acquire GitHub for $7.5 billion". The Verge. Archived from the original on November 9, 2020. Retrieved June 4, 2018.
  39. ^Warren, Tom (October 26, 2018). "Microsoft completes GitHub acquisition". The Verge. Vox. Archived from the original on November 9, 2020. Retrieved July 27, 2020.
  40. ^"Microsoft to acquire GitHub for $7.5 billion". Stories. June 4, 2018. Archived from the original on June 4, 2018. Retrieved January 22, 2020.
  41. ^Warren, Tom. "Here's what GitHub developers really think about Microsoft's acquisition". The Verge. Archived from the original on November 9, 2020. Retrieved August 22, 2018.
  42. ^Merriman, Chris. "Microsoft has snapped up GitHub and the internet has feelings | TheINQUIRER". The Inquirer. Archived from the original on December 19, 2019. Retrieved August 22, 2018.CS1 maint: unfit URL (link)
  43. ^Horwitz, Josh. "GitHub users are already fuming about the company's sale to Microsoft". Quartz. Archived from the original on August 1, 2020. Retrieved June 9, 2018.
  44. ^"Why Microsoft Is Willing to Pay So Much for GitHub". Harvard Business Review. June 6, 2018. Archived from the original on November 23, 2020. Retrieved June 9, 2018.
  45. ^"10 reasons why teams are switching from GitHub to Bitbucket after Microsoft acquisition". Archived from the original on July 28, 2018. Retrieved June 4, 2018.
  46. ^Tung, Liam. "GitHub rivals gain from Microsoft acquisition but it's no mass exodus, yet". ZDNet. Archived from the original on November 12, 2020. Retrieved June 9, 2018.
  47. ^"If Microsoft buying GitHub freaks you out, here are your best alternatives". TechRepublic. Archived from the original on November 9, 2020. Retrieved June 4, 2018.
  48. ^"GitHub Importer". SourceForge. Archived from the original on December 1, 2020. Retrieved June 12, 2018.
  49. ^Lardinois, Frederic (September 19, 2019). "GitHub acquires code analysis tool Semmle". TechCrunch. Retrieved December 23, 2020.
  50. ^Mehta, Ivan (February 12, 2020). "GitHub launches an Indian subsidiary to boost its developer community". The Next Web. Archived from the original on October 22, 2020. Retrieved March 2, 2020.
  51. ^"GitHub is acquiring NPM, a service used by 12 million developers". Business Insider. March 16, 2020. Archived from the original on September 8, 2020. Retrieved March 16, 2020.
  52. ^Epling, Jeremy (April 15, 2020). "npm has joined GitHub". The GitHub Blog. GitHub, Inc. Archived from the original on November 20, 2020. Retrieved July 16, 2020.
  53. ^ ab"GitHub Archive Program: the journey of the world's open source code to the Arctic". The GitHub Blog. July 16, 2020. Archived from the original on November 7, 2020. Retrieved July 18, 2020.
  54. ^ ab"GitHub Octodex FAQ". Archived from the original on November 14, 2016. Retrieved September 21, 2015.
  55. ^Jaramillo, Tony (November 24, 2014). "From Sticker to Sculpture: The making of the Octocat figurine". The GitHub Blog. GitHub. Archived from the original on March 16, 2015. Retrieved April 19, 2017.
  56. ^ abcdDeAmicis, Carmel (July 8, 2013). "Original GitHub Octocat designer Simon Oxley on his famous creation: "I don't remember drawing it"". PandoDaily. Archived from the original on December 3, 2020. Retrieved April 19, 2017.
  57. ^Campbell-Dollaghan, Kelsey (April 26, 2013). "Meet the Accidental Designer of the GitHub and Twitter Logos". Co.Design. Fast Company. Archived from the original on April 20, 2017. Retrieved April 19, 2017.
  58. ^McEfee, Cameron (May 12, 2016). "The Octocat—a nerdy household name". Cameron McEfee. Archived from the original on November 1, 2020. Retrieved April 19, 2017.
  59. ^Goldman, David. "What IS that thing behind Satya Nadella in the GitHub photo?". CNNMoney. Archived from the original on January 12, 2019. Retrieved July 19, 2018.
  60. ^"Microsoft-Owned GitHub Just Made It Free for Coders to Keep Projects Private in Small Teams". Fortune. Archived from the original on March 22, 2021. Retrieved June 13, 2019.
  61. ^Zhou, Marrian. "GitHub is giving free users unlimited private repositories". CNET. Archived from the original on March 22, 2021. Retrieved June 13, 2019.
  62. ^Chan, Rosalie. "GitHub makes its first major move since Microsoft bought it for $7.5 billion — and it's something customers have long been asking for". Business Insider. Archived from the original on March 22, 2021. Retrieved June 13, 2019.
  63. ^Friedman, Nat. "GitHub is now free for teams". Archived from the original on April 14, 2020.
  64. ^"Interview with Chris Wanstrath". March 6, 2012. Archived from the original on March 5, 2013. Retrieved February 26, 2013.
  65. ^" Help Documentation". GitHub Docs. Retrieved September 21, 2021.
  66. ^"About wikis". GitHub Docs. Retrieved September 21, 2021.
  67. ^"Features • GitHub Actions". GitHub. Retrieved September 21, 2021.
  68. ^"Integrations Directory". GitHub. Archived from the original on March 22, 2021. Retrieved April 30, 2016.
  69. ^"About email notifications for pushes to your repository". GitHub Docs. Retrieved September 21, 2021.
  70. ^"GitHub Discussions Documentation". GitHub Docs. Retrieved September 21, 2021.
  71. ^"Mention @somebody. They're notified". GitHub. Archived from the original on March 22, 2021. Retrieved April 30, 2016.
  72. ^"Github Help / Categories / Writing on GitHub". Archived from the original on March 22, 2021. Retrieved April 30, 2016.
  73. ^Weinhoffer, Eric (April 9, 2013). "GitHub Now Supports STL File Viewing". Archived from the original on March 22, 2021. Retrieved February 13, 2018.
  74. ^"GitHub Terms of Service - User Documentation". February 11, 2016. Archived from the original on June 24, 2015. Retrieved December 5, 2016.
  75. ^Introducing GitHub EnterpriseArchived March 22, 2021, at the Wayback MachineGitHub
  76. ^Salter, Jim (November 5, 2020). "GitHub's source code was leaked on GitHub last night... sort of". Ars Technica. Archived from the original on March 22, 2021. Retrieved November 6, 2020.
  77. ^Cimpanu, Catalin. "GitHub denies getting hacked". ZDNet. Archived from the original on March 22, 2021. Retrieved November 6, 2020.
  78. ^Bell, Peter; Beer, Brent (November 11, 2014). Introducing GitHub: A Non-Technical Guide. "O'Reilly Media, Inc.". ISBN . Archived from the original on August 1, 2020. Retrieved June 15, 2019.
  79. ^Pipinellis, Achilleas (September 30, 2015). GitHub Essentials. Packt Publishing Ltd. ISBN . Archived from the original on August 1, 2020. Retrieved June 15, 2019.
  80. ^Xie, Yihui (December 12, 2016). bookdown: Authoring Books and Technical Documents with R Markdown. CRC Press. ISBN . Archived from the original on August 1, 2020. Retrieved June 15, 2019.
  81. ^"Build A Blog With Jekyll And GitHub Pages". Smashing Magazine. August 1, 2014. Archived from the original on December 7, 2020. Retrieved June 15, 2019.
  82. ^Sawant, Uday R. (June 30, 2016). Ubuntu Server Cookbook. Packt Publishing Ltd. ISBN . Archived from the original on August 1, 2020. Retrieved June 15, 2019.
  83. ^All GitHub Pages sites, including sites that are correctly configured with a custom domain, support HTTPS and HTTPS enforcement."Securing your GitHub Pages site with HTTPS". GitHub. Archived from the original on March 22, 2021. Retrieved June 1, 2020.
  84. ^Custom domains on GitHub Pages gain support for HTTPS.Moore, Parker (May 1, 2018). "Custom domains on GitHub Pages gain support for HTTPS". GitHub. Archived from the original on March 22, 2021. Retrieved June 1, 2020.
  85. ^Preston-Werner, Tom (July 20, 2008). God's memory leak - a scientific treatment. RubyFringe. Archived from the original on January 22, 2011. Retrieved October 21, 2014.
  86. ^"Deprecation Notice: Removing Anonymous Gist Creation". The GitHub Blog. February 19, 2018. Archived from the original on March 22, 2021. Retrieved September 30, 2020.
  87. ^Lardinois, Frederic (October 7, 2014). "GitHub Partners With Digital Ocean, Unreal Engine, Others To Give Students Free Access To Developer Tools". TechCrunch. Archived from the original on March 22, 2021. Retrieved October 7, 2014.
  88. ^"GitHub Campus Experts - Technology leadership at your school". The GitHub Blog. June 25, 2016. Retrieved January 22, 2019.
  89. ^"GitHub Campus Experts". GitHub Education. Retrieved January 22, 2019.
  90. ^"Archived copy". Archived from the original on March 22, 2021. Retrieved May 24, 2019.CS1 maint: archived copy as title (link)
  91. ^Kastrenakes, Jacob (May 23, 2019). "GitHub launches Sponsors, a Patreon-style funding tool for developers". The Verge. Archived from the original on March 22, 2021. Retrieved May 24, 2019.
  92. ^"Announcing GitHub Sponsors: a new way to contribute to open source". The GitHub Blog. May 23, 2019. Archived from the original on March 22, 2021. Retrieved May 24, 2019.
  93. ^"GitHub Has Stored Its Code in an Arctic Vault It Hopes Will Last 1,000 Years". Gizmodo. Archived from the original on October 8, 2020. Retrieved July 18, 2020.
  94. ^Canales, Katie (July 18, 2020). "GitHub, the world's largest open-source software site, just had mounds of data stored in the permafrost chamber of an old coal mine deep in an Arctic mountain for 1,000 years". MSN. Microsoft. Archived from the original on October 9, 2020. Retrieved July 18, 2020.
  95. ^Truong, Kevin (July 17, 2020). "21 Terabytes of Open Source Code Is Now Stored in an Arctic Vault". Vice Media. Archived from the original on March 22, 2021. Retrieved July 18, 2020.
  96. ^ abByrne, Nate (August 12, 2020). "Buried deep in the ice is the GitHub code vault". ABC News. Australian Broadcasting Corporation. Archived from the original on November 15, 2020. Retrieved August 13, 2020.
  97. ^Biddle, Sam; Tiku, Nitasha (17 March 2014). "Meet the Married Duo Behind Tech's Biggest New Harassment Scandal". Vallywag. Gawker. Archived from the original on March 17, 2014. Retrieved March 17, 2014.
  98. ^Miller, Claire Cain (April 21, 2014). "GitHub Founder Resigns After Investigation". Bits. The New York Times. Archived from the original on March 22, 2021. Retrieved February 13, 2018.
  99. ^Wilhelm, Alex (April 21, 2014). "GitHub Denies Allegations Of "Gender-Based Harassment," Co-Founder Preston-Werner Resigns". TechCrunch. Archived from the original on March 22, 2021. Retrieved June 25, 2017.
  100. ^"Follow up to the investigation results". April 28, 2014. Archived from the original on March 22, 2021. Retrieved November 11, 2014.
  101. ^ abMcMillan, Robert (April 21, 2014). "GitHub Founder Steps Down After Harassment Probe". Wired. ISSN 1059-1028. Archived from the original on March 22, 2021. Retrieved October 12, 2020.
  102. ^Saeedi Fard, Hamed (July 29, 2019). "GitHub blocked my account and they think I'm developing nuclear weapons". Medium. Retrieved August 12, 2019.
  103. ^"GitHub confirms it has blocked developers in Iran, Syria and Crimea". TechCrunch. Retrieved August 10, 2019.
  104. ^
Github Actions - Open CICD Platform by Github - Tech Primers

What Exactly Is GitHub Anyway?

Andreessen Horowitz announced a whopping $100 million investment in GitHub this week. You can read commentary and speculation all over the web about what GitHub will do with the money, whether this was a good investment for Andreessen Horowitz and whether taking such a large investment is a good thing for GitHub.

But what the heck is GitHub and why are developers so excited about it? You may have heard that GitHub is a code sharing and publishing service, or that it’s a social networking site for programmers. Both statements are true, but neither explain exactly why GitHub is special.

At the heart of GitHub is Git, an open source project started by Linux creator Linus Torvalds. Matthew McCullough, a trainer at GitHub, explains that Git, like other version control systems, manages and stores revisions of projects. Although it’s mostly used for code, McCullough says Git could be used to manage any other type of file, such as Word documents or Final Cut projects. Think of it as a filing system for every draft of a document.

Some of Git’s predecessors, such as CVS and Subversion, have a central “repository” of all the files associated with a project. McCullough explains that when a developer makes changes, those changes are made directly to the central repository. With distributed version control systems like Git, if you want to make a change to a project you copy the whole repository to your own system. You make your changes on your local copy, then you “check in” the changes to the central server. McCullough says this encourages the sharing of more granular changes since you don’t have to connect to the server every time you make a change.

GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.

The flagship functionality of GitHub is “forking” – copying a repository from one user’s account to another. This enables you to take a project that you don’t have write access to and modify it under your own account. If you make changes you’d like to share, you can send a notification called a “pull request” to the original owner. That user can then, with a click of a button, merge the changes found in your repo with the original repo.

These three features – fork, pull request and merge – are what make GitHub so powerful. Gregg Pollack of Code School (which just launched a class called TryGit) explains that before GitHub, if you wanted to contribute to an open source project you had to manually download the project’s source code, make your changes locally, create a list of changes called a “patch” and then e-mail the patch to the project’s maintainer. The maintainer would then have to evaluate this patch, possibly sent by a total stranger, and decide whether to merge the changes.

This is where the network effect starts to play a role in GitHub, Pollack explains. When you submit a pull request, the project’s maintainer can see your profile, which includes all of your contributions on GitHub. If your patch is accepted, you get credit on the original site, and it shows up in your profile. It’s like a resume that helps the maintainer determine your reputation. The more people and projects on GitHub, the better idea picture a project maintainer can get of potential contributors. Patches can also be publicly discussed.

Even for maintainers who don’t end up using the GitHub interface, GitHub can make contribution management easier. “I end up just downloading the patch anyway, or merging from the command line instead of from the merge button,” says Isaac Schlueter, the maintainer of the open source development platform Node.js. “But GitHub provides a centralized place where people can discuss the patch.”

Lowering the barrier to entry democratizes open source development, and helps young projects grow. “Node.js wouldn’t be what it is today without GitHub,” Schlueter says.

Besides its public facing open source repositories, GitHub also sells private repositories and on-premise instances of its software for enterprises. These solutions obviously can’t take full advantage of GitHub’s network effect, but they can take advantage of the collaboration features. That’s how GitHub makes money, but it’s not alone in this market.

Atlassian acquired a competitor called BitBucket in 2010. And earlier this year Atlassian launched Stash, a product that enables you to host private, on-premise Git repositories with BitBucket/GitHub-style collaboration features. The company also sells developer collaboration tools like the bug tracker Jira and the wiki Confluence. Competition from Atlassian, which took $60 million in funding from Accel Partners in 2010, could help explain why GitHub took this round of funding, and hint at some possible future directions for the company. For example, Schlueter says GitHub’s issue tracking feature could eventually compete with JIRA for some projects.

The money may be in private and on-premise hosting, but the love is in the public repositories. Perhaps most importantly, GitHub has become the Library of Alexandria for code examples. Since Git encourages granular recording of changes, programmers, be they absolute beginners or experts, can trace the steps of some of the greatest developers in the world and find out how they solved thorny problems. But if GitHub were ever to meet the same fate as the Library of Alexandria, it could be reconstructed from all those local forks distributed on so many developers laptops all over the world. Regardless of how this investment works out, that’s a hell of a legacy for the GitHub team to leave behind.


You will also like:


1713 1714 1715 1716 1717