Alternatives to Git logo

Alternatives to Git

GitHub, SVN (Subversion), Bitbucket, Perforce, and Mercurial are the most popular alternatives and competitors to Git.
289.2K
173.9K
+ 1
6.6K

What is Git and what are its top alternatives?

Git is a widely used distributed version control system that allows multiple developers to collaborate on projects efficiently. Its key features include branching and merging, speed, scalability, and data integrity. However, Git has a learning curve for beginners and can be complex to use for some users.

  1. Mercurial: Mercurial is a distributed version control system that offers similar features to Git. Key features include distributed development, easy branching and merging, and performance. Pros: easier learning curve than Git, strong support for Windows. Cons: smaller community compared to Git.
  2. SVN (Apache Subversion): SVN is a centralized version control system that is known for its simplicity and ease of use. Key features include atomic commits, branching and tagging. Pros: simple to use, strong support for binary files. Cons: lacks some advanced features of Git, slower performance for large repositories.
  3. Perforce: Perforce is a centralized version control system commonly used in enterprise settings. Key features include support for large files and repositories, fine-grained access control, and integration with CI/CD tools. Pros: strong support for large projects, enterprise-grade security. Cons: expensive for smaller teams, complex setup and administration.
  4. Fossil: Fossil is a distributed version control system that includes bug tracking and wiki features. Key features include built-in web interface, self-contained executable, and easy setup. Pros: all-in-one solution for version control and project management, simple setup. Cons: limited scalability for very large projects, smaller user base compared to Git.
  5. Bazaar: Bazaar is a distributed version control system developed by Canonical. Key features include focus on ease of use, multiple workflows supported, and extensible with plugins. Pros: easy to learn, flexible workflows, powerful branching and merging. Cons: slower performance compared to Git, smaller community support.
  6. Plastic SCM: Plastic SCM is a distributed version control system designed for tracking changes in large and complex projects. Key features include branching visualization, merge tracking, and scalability. Pros: strong support for large projects, robust branching and merging capabilities. Cons: complex setup, expensive for enterprise use.
  7. SourceGear Vault: SourceGear Vault is a centralized version control system known for its reliability and ease of use. Key features include atomic commits, visual differencing tools, and user-friendly interface. Pros: simple to use, reliable performance. Cons: limited feature set compared to Git, lacks strong support for distributed workflows.
  8. Bitbucket: Bitbucket is a web-based version control system that supports both Git and Mercurial repositories. Key features include code collaboration, pull requests, and continuous integration. Pros: integration with other Atlassian products, free for small teams. Cons: limited support for large projects, slower performance compared to self-hosted Git.
  9. AWS CodeCommit: AWS CodeCommit is a managed version control service that supports Git repositories. Key features include scalability, high availability, and integration with AWS services. Pros: fully managed service, integrates with AWS ecosystem. Cons: limited features compared to Git, higher cost for large repositories.
  10. Darcs: Darcs is a distributed version control system known for its advanced features like patch theory and interactive patch management. Key features include offline commits, cherry-picking changes, and conflict resolution tools. Pros: innovative approach to version control, strong support for non-linear workflows. Cons: slower performance for large repositories, smaller user base than Git.

Top Alternatives to Git

  • GitHub
    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)
    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

    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
    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

    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. ...

  • GitLab
    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. ...

  • C lang
  • Git Flow
    Git Flow

    It provides excellent command line help and output. It is a merge based solution. It doesn't rebase feature branches. ...

Git alternatives & related posts

GitHub logo

GitHub

279K
243.3K
10.3K
Powerful collaboration, review, and code management for open source and private development projects
279K
243.3K
+ 1
10.3K
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
  • 486
    Great community
  • 482
    Remote team collaboration
  • 451
    Great way to share
  • 442
    Pull request and features planning
  • 147
    Just works
  • 132
    Integrated in many tools
  • 121
    Free Public Repos
  • 116
    Github Gists
  • 112
    Github pages
  • 83
    Easy to find repos
  • 62
    Open source
  • 60
    It's free
  • 60
    Easy to find projects
  • 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
    Newsfeed
  • 10
    Standard in Open Source collab
  • 8
    Fast
  • 8
    It integrates directly with Hipchat
  • 8
    Beautiful user experience
  • 7
    Easy to discover new code libraries
  • 6
    Smooth integration
  • 6
    Cloud SCM
  • 6
    Nice API
  • 6
    Graphs
  • 6
    Integrations
  • 6
    It's awesome
  • 5
    Quick Onboarding
  • 5
    Remarkable uptime
  • 5
    CI Integration
  • 5
    Hands down best online Git service available
  • 5
    Reliable
  • 4
    Free HTML hosting
  • 4
    Version Control
  • 4
    Simple but powerful
  • 4
    Unlimited Public Repos at no cost
  • 4
    Security options
  • 4
    Loved by developers
  • 4
    Uses GIT
  • 4
    Easy to use and collaborate with others
  • 3
    IAM
  • 3
    Nice to use
  • 3
    Ci
  • 3
    Easy deployment via SSH
  • 2
    Good tools support
  • 2
    Leads the copycats
  • 2
    Free private repos
  • 2
    Free HTML hostings
  • 2
    Easy and efficient maintainance of the projects
  • 2
    Beautiful
  • 2
    Never dethroned
  • 2
    IAM integration
  • 2
    Very Easy to Use
  • 2
    Easy to use
  • 2
    All in one development service
  • 2
    Self Hosted
  • 2
    Issues tracker
  • 2
    Easy source control and everything is backed up
  • 1
    Profound
CONS OF GITHUB
  • 53
    Owned by micrcosoft
  • 37
    Expensive for lone developers that want private repos
  • 15
    Relatively slow product/feature release cadence
  • 10
    API scoping could be better
  • 8
    Only 3 collaborators for private repos
  • 3
    Limited featureset for issue management
  • 2
    GitHub Packages does not support SNAPSHOT versions
  • 2
    Does not have a graph for showing history like git lens
  • 1
    No multilingual interface
  • 1
    Takes a long time to commit
  • 1
    Expensive

related GitHub posts

Johnny Bell

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
Russel Werner
Lead Engineer at StackShare · | 32 upvotes · 2M views

StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.

Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!

#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit

See more
SVN (Subversion) logo

SVN (Subversion)

791
621
43
Enterprise-class centralized version control for the masses
791
621
+ 1
43
PROS OF SVN (SUBVERSION)
  • 20
    Easy to use
  • 13
    Simple code versioning
  • 5
    User/Access Management
  • 3
    Complicated code versionioning by Subversion
  • 2
    Free
CONS OF SVN (SUBVERSION)
  • 7
    Branching and tagging use tons of disk space

related SVN (Subversion) posts

I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

  • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

  • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

  • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

  • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

  • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

  • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

  • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

See more
rishig
Head of Product at Zulip · | 8 upvotes · 190.7K views
Shared insights
on
GitGitSVN (Subversion)SVN (Subversion)
at

I use Git instead of SVN (Subversion) because it allows us to scale our development team. At any given time, the Zulip open source project has hundreds of open pull requests from tens of contributors, each in various stages of the pipeline. Git's workflow makes it very easy to context switch between different feature branches.

See more
Bitbucket logo

Bitbucket

40K
32.3K
2.8K
One place to plan projects, collaborate on code, test and deploy, all with free private repositories
40K
32.3K
+ 1
2.8K
PROS OF BITBUCKET
  • 904
    Free private repos
  • 397
    Simple setup
  • 348
    Nice ui and tools
  • 341
    Unlimited private repositories
  • 240
    Affordable git hosting
  • 123
    Integrates with many apis and services
  • 119
    Reliable uptime
  • 87
    Nice gui
  • 85
    Pull requests and code reviews
  • 58
    Very customisable
  • 16
    Mercurial repositories
  • 14
    SourceTree integration
  • 12
    JIRA integration
  • 10
    Track every commit to an issue in JIRA
  • 8
    Deployment hooks
  • 8
    Best free alternative to Github
  • 7
    Automatically share repositories with all your teammates
  • 7
    Compatible with Mac and Windows
  • 6
    Source Code Insight
  • 6
    Price
  • 5
    Login with Google
  • 5
    Create a wiki
  • 5
    Approve pull request button
  • 4
    Customizable pipelines
  • 4
    #2 Atlassian Product after JIRA
  • 3
    Also supports Mercurial
  • 3
    Unlimited Private Repos at no cost
  • 3
    Continuous Integration and Delivery
  • 2
    Academic license program
  • 2
    Multilingual interface
  • 2
    Teamcity
  • 2
    Open source friendly
  • 2
    Issues tracker
  • 2
    IAM
  • 2
    IAM integration
  • 2
    Mercurial Support
CONS OF BITBUCKET
  • 19
    Not much community activity
  • 17
    Difficult to review prs because of confusing ui
  • 15
    Quite buggy
  • 10
    Managed by enterprise Java company
  • 8
    CI tool is not free of charge
  • 7
    Complexity with rights management
  • 6
    Only 5 collaborators for private repos
  • 4
    Slow performance
  • 2
    No AWS Codepipelines integration
  • 1
    No more Mercurial repositories
  • 1
    No server side git-hook support

related Bitbucket posts

Michael Kelly
Senior Software Engineer at StackShare · | 14 upvotes · 947.5K views

I use GitLab when building side-projects and MVPs. The interface and interactions are close enough to those of GitHub to prevent cognitive switching costs between professional and personal projects hosted on different services.

GitLab also provides a suite of tools including issue/project management, CI/CD with GitLab CI, and validation/landing pages with GitLab Pages. With everything in one place, on an #OpenSourceCloud GitLab makes it easy for me to manage much larger projects on my own, than would be possible with other solutions or tools.

It's petty I know, but I can also read the GitLab code diffs far more easily than diffs on GitHub or Bitbucket...they just look better in my opinion.

See more
Shared insights
on
GitHubGitHubGitLabGitLabBitbucketBitbucket

A bit difference in GitHub and GitLab though both are Version Control repository management services which provides key component in the software development workflow. A decision of choosing GitHub over GitLab is major leap extension from code management, to deployment and monitoring alongside looking beyond the code base hosting provided best fitted tools for developer communities.

  • Authentication stages - With GitLab you can set and modify people’s permissions according to their role. In GitHub, you can decide if someone gets a read or write access to a repository.
  • Built-In Continuous Integrations - GitLab offers its very own CI for free. No need to use an external CI service. And if you are already used to an external CI, you can obviously integrate with Jenkins, etc whereas GitHub offers various 3rd party integrations – such as Travis CI, CircleCI or Codeship – for running and testing your code. However, there’s no built-in CI solution at the moment.
  • Import/Export Resources - GitLab offers detailed documentation on how to import your data from other vendors – such as GitHub, Bitbucket to GitLab. GitHub, on the other hand, does not offer such detailed documentation for the most common git repositories. However, GitHub offers to use GitHub Importer if you have your source code in Subversion, Mercurial, TFS and others.

Also when it comes to exporting data, GitLab seems to do a pretty solid job, offering you the ability to export your projects including the following data:

  • Wiki and project repositories
  • Project uploads
  • The configuration including webhooks and services
  • Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities.

GitHub, on the other hand, seems to be more restrictive when it comes to export features of existing GitHub repositories. * Integrations - #githubmarketplace gives you an essence to have multiple and competitive integrations whereas you will find less in the GitLab.

So go ahead with better understanding.

See more
Perforce logo

Perforce

82
112
9
Version Control Software
82
112
+ 1
9
PROS OF PERFORCE
  • 3
    Powerful
  • 3
    Great for Enterprise level use
  • 2
    Robust
  • 1
    Scalable
CONS OF PERFORCE
    Be the first to leave a con

    related Perforce posts

    Mercurial logo

    Mercurial

    229
    216
    105
    A free, distributed source control management tool
    229
    216
    + 1
    105
    PROS OF MERCURIAL
    • 18
      A lot easier to extend than git
    • 17
      Easy-to-grasp system with nice tools
    • 13
      Works on windows natively without cygwin nonsense
    • 11
      Written in python
    • 9
      Free
    • 8
      Fast
    • 6
      Better than Git
    • 6
      Best GUI
    • 4
      Better than svn
    • 2
      Hg inc
    • 2
      Good user experience
    • 2
      TortoiseHg - Unified free gui for all platforms
    • 2
      Consistent UI
    • 2
      Easy-to-use
    • 2
      Native support to all platforms
    • 1
      Free to use
    CONS OF MERCURIAL
    • 0
      Track single upstream only
    • 0
      Does not distinguish between local and remote head

    related Mercurial posts

    Tim Abbott
    Shared insights
    on
    GitGitMercurialMercurial
    at

    I've been excited about Git ever since it got a built-in UI. It's the perfect combination of a really solid, simple data model, which allows an experienced user to predict precisely what a Git subcommand will do, often without needing to read the documentation (see the slides linked from the attached article for details). Most important to me as the lead developer of a large open source project (Zulip) is that it makes it possible to build a really clean, clear development history that I regularly use to understand details of our code history that are critical to making correct changes.

    And it performs really, really well. In 2014, I managed Dropbox's migration from Mercurial to Git. And just switching tools made just about every common operation (git status, git log, git commit etc.) 2-10x faster than with Mercurial. It makes sense if you think about it, since Git was designed to perform well with Linux, one of the largest open source projects out there, but it was still a huge productivity increase that we got basically for free.

    If you're learning Git, I highly recommend reading the other sections of Zulip's Git Guide; we get a lot of positive feedback from developers on it being a useful resource even for their projects unrelated to Zulip.

    See more
    GitLab logo

    GitLab

    60.6K
    51.9K
    2.5K
    Open source self-hosted Git management software
    60.6K
    51.9K
    + 1
    2.5K
    PROS OF GITLAB
    • 508
      Self hosted
    • 430
      Free
    • 339
      Has community edition
    • 242
      Easy setup
    • 240
      Familiar interface
    • 137
      Includes many features, including ci
    • 113
      Nice UI
    • 84
      Good integration with gitlabci
    • 57
      Simple setup
    • 34
      Free private repository
    • 34
      Has an official mobile app
    • 31
      Continuous Integration
    • 22
      Open source, great ui (like github)
    • 18
      Slack Integration
    • 14
      Full CI flow
    • 11
      Free and unlimited private git repos
    • 10
      User, group, and project access management is simple
    • 9
      All in one (Git, CI, Agile..)
    • 8
      Built-in CI
    • 8
      Intuitive UI
    • 6
      Both public and private Repositories
    • 6
      Full DevOps suite with Git
    • 5
      Build/pipeline definition alongside code
    • 5
      CI
    • 5
      So easy to use
    • 5
      Integrated Docker Registry
    • 5
      It's powerful source code management tool
    • 4
      Issue system
    • 4
      Dockerized
    • 4
      Unlimited free repos & collaborators
    • 4
      Security and Stable
    • 4
      On-premises
    • 4
      It's fully integrated
    • 4
      Mattermost Chat client
    • 4
      Excellent
    • 3
      Great for team collaboration
    • 3
      Built-in Docker Registry
    • 3
      Low maintenance cost due omnibus-deployment
    • 3
      I like the its runners and executors feature
    • 3
      Free private repos
    • 3
      Because is the best remote host for git repositories
    • 3
      Not Microsoft Owned
    • 3
      Opensource
    • 2
      Groups of groups
    • 2
      Powerful software planning and maintaining tools
    • 2
      Review Apps feature
    • 2
      Kubernetes integration with GitLab CI
    • 2
      It includes everything I need, all packaged with docker
    • 2
      Multilingual interface
    • 2
      HipChat intergration
    • 2
      Powerful Continuous Integration System
    • 2
      One-click install through DigitalOcean
    • 2
      The dashboard with deployed environments
    • 2
      Native CI
    • 2
      Many private repo
    • 2
      Kubernetes Integration
    • 2
      Published IP list for whitelisting (gl-infra#434)
    • 2
      Wounderful
    • 2
      Beautiful
    • 1
      Supports Radius/Ldap & Browser Code Edits
    CONS OF GITLAB
    • 28
      Slow ui performance
    • 8
      Introduce breaking bugs every release
    • 6
      Insecure (no published IP list for whitelisting)
    • 2
      Built-in Docker Registry
    • 1
      Review Apps feature

    related GitLab posts

    Tim Abbott
    Shared insights
    on
    GitHubGitHubGitLabGitLab
    at

    I have mixed feelings on GitHub as a product and our use of it for the Zulip open source project. On the one hand, I do feel that being on GitHub helps people discover Zulip, because we have enough stars (etc.) that we rank highly among projects on the platform. and there is a definite benefit for lowering barriers to contribution (which is important to us) that GitHub has such a dominant position in terms of what everyone has accounts with.

    But even ignoring how one might feel about their new corporate owner (MicroSoft), in a lot of ways GitHub is a bad product for open source projects. Years after the "Dear GitHub" letter, there are still basic gaps in its issue tracker:

    • You can't give someone permission to label/categorize issues without full write access to a project (including ability to merge things to master, post releases, etc.).
    • You can't let anyone with a GitHub account self-assign issues to themselves.
    • Many more similar issues.

    It's embarrassing, because I've talked to GitHub product managers at various open source events about these things for 3 years, and they always agree the thing is important, but then nothing ever improves in the Issues product. Maybe the new management at MicroSoft will fix their product management situation, but if not, I imagine we'll eventually do the migration to GitLab.

    We have a custom bot project, http://github.com/zulip/zulipbot, to deal with some of these issues where possible, and every other large project we talk to does the same thing, more or less.

    See more
    Joshua Dean Küpper
    CEO at Scrayos UG (haftungsbeschränkt) · | 20 upvotes · 696.1K views

    We use GitLab CI because of the great native integration as a part of the GitLab framework and the linting-capabilities it offers. The visualization of complex pipelines and the embedding within the project overview made Gitlab CI even more convenient. We use it for all projects, all deployments and as a part of GitLab Pages.

    While we initially used the Shell-executor, we quickly switched to the Docker-executor and use it exclusively now.

    We formerly used Jenkins but preferred to handle everything within GitLab . Aside from the unification of our infrastructure another motivation was the "configuration-in-file"-approach, that Gitlab CI offered, while Jenkins support of this concept was very limited and users had to resort to using the webinterface. Since the file is included within the repository, it is also version controlled, which was a huge plus for us.

    See more
    C lang logo

    C lang

    13.4K
    4.2K
    247
    One of the most widely used programming languages of all time
    13.4K
    4.2K
    + 1
    247
    PROS OF C LANG
    • 68
      Performance
    • 49
      Low-level
    • 35
      Portability
    • 28
      Hardware level
    • 19
      Embedded apps
    • 13
      Pure
    • 9
      Performance of assembler
    • 8
      Ubiquity
    • 6
      Great for embedded
    • 4
      Old
    • 3
      Compiles quickly
    • 2
      OpenMP
    • 2
      No garbage collection to slow it down
    • 1
      Gnu/linux interoperable
    CONS OF C LANG
    • 5
      Low-level
    • 3
      No built in support for concurrency
    • 2
      Lack of type safety
    • 2
      No built in support for parallelism (e.g. map-reduce)

    related C lang posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 17 upvotes · 1.6M views

    Why Uber developed H3, our open source grid system to make geospatial data visualization and exploration easier and more efficient:

    We decided to create H3 to combine the benefits of a hexagonal global grid system with a hierarchical indexing system. A global grid system usually requires at least two things: a map projection and a grid laid on top of the map. For map projection, we chose to use gnomonic projections centered on icosahedron faces. This projects from Earth as a sphere to an icosahedron, a twenty-sided platonic solid. The H3 grid is constructed by laying out 122 base cells over the Earth, with ten cells per face. H3 supports sixteen resolutions: https://eng.uber.com/h3/

    (GitHub Pages : https://uber.github.io/h3/#/ Written in C w/ bindings in Java & JavaScript )

    See more

    One important decision for delivering a platform independent solution with low memory footprint and minimal dependencies was the choice of the programming language. We considered a few from Python (there was already a reasonably large Python code base at Thumbtack), to Go (we were taking our first steps with it), and even Rust (too immature at the time).

    We ended up writing it in C. It was easy to meet all requirements with only one external dependency for implementing the web server, clearly no challenges running it on any of the Linux distributions we were maintaining, and arguably the implementation with the smallest memory footprint given the choices above.

    See more
    Git Flow logo

    Git Flow

    95
    76
    0
    A set of git extensions to provide high-level repository operations
    95
    76
    + 1
    0
    PROS OF GIT FLOW
      Be the first to leave a pro
      CONS OF GIT FLOW
        Be the first to leave a con

        related Git Flow posts