Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

BitKeeper vs Git: What are the differences?

BitKeeper vs Git

BitKeeper and Git are both version control systems, used to track changes to files and collaborate on software development projects. However, there are several key differences between the two:

  1. Repository Structure: In BitKeeper, there is a central repository that contains the entire history of the project. Each team member can clone the repository and make changes locally before pushing them back to the central repository. On the other hand, Git uses a distributed repository model, where each team member has a complete copy of the repository with its full history. This allows for more flexibility and independence in terms of collaboration.

  2. Conflict Resolution: When multiple team members make changes to the same file in BitKeeper, conflicts can arise. BitKeeper offers a feature called "automatic conflict resolution" which attempts to merge conflicting changes automatically. Git, however, requires manual conflict resolution. It provides tools to help identify and resolve conflicts, but it ultimately relies on the developer to make the necessary decisions.

  3. Branching Model: BitKeeper follows a more traditional branching model, where there is a main branch (typically called "master") and branches are created for specific features or bug fixes. Git, on the other hand, is known for its powerful branching capabilities. It allows for lightweight branching and encourages the use of branches for different tasks, such as feature development, bug fixing, and experimentation. This flexibility enables more efficient parallel development and easier code management.

  4. Performance: Git is known for its superior performance compared to BitKeeper, especially when dealing with large repositories or performing operations like branching and merging. Git is optimized for speed and efficiency, utilizing techniques such as data compression and delta encoding to minimize the size of the repository and reduce network traffic. These optimizations make Git faster and more responsive in most scenarios.

  5. Open Source: BitKeeper is a proprietary version control system with a commercial license. Its source code is not publicly available, and the software is maintained and controlled by a single company. In contrast, Git is an open-source project, developed collaboratively by a community of contributors. It is freely available and can be customized or extended to fit specific needs. The open-source nature of Git fosters innovation and allows for greater transparency and community involvement.

  6. Integration and Ecosystem: Git has a vast ecosystem of tools, services, and integrations built around it. There are numerous third-party services (like GitHub, GitLab, and Bitbucket) that provide hosting and collaboration features specifically designed for Git repositories. Many development tools and platforms have native support for Git, making it easy to integrate Git into existing workflows. While BitKeeper also has its own ecosystem, it is not as extensive or widely adopted as Git's.

In summary, BitKeeper and Git differ in terms of their repository structure, conflict resolution approach, branching model, performance, licensing, and ecosystem. Git offers a distributed repository model, requires manual conflict resolution, has a powerful branching model, excels in performance, is open-source, and has a vast ecosystem.

Decisions about BitKeeper and Git
Kamaldeep Singh

SVN is much simpler than git for the simple stuff (checking in files and updating them when everyone's online), and much more complex than git for the complicated stuff (branching and merging). Or put another way, git's learning curve is steep up front, and then increases moderately as you do weird things; SVN's learning curve is very shallow up front and then increases rapidly.

If you're storing large files, if you're not branching, if you're not storing source code, and if your team is happy with SVN and the workflow you have, I'd say you should stay on SVN.

If you're writing source code with a relatively modern development practice (developers doing local builds and tests, pre-commit code reviews, preferably automated testing, preferably some amount of open-source code), you should move to git for two reasons: first, this style of working inherently requires frequent branching and merging, and second, your ability to interact with outside projects is easier if you're all comfortable with git instead of snapshotting the outside project into SVN.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of BitKeeper
Pros of Git
    Be the first to leave a pro
    • 1.4K
      Distributed version control system
    • 1.1K
      Efficient branching and merging
    • 959
    • 845
      Open source
    • 726
      Better than svn
    • 368
      Great command-line application
    • 306
    • 291
    • 232
      Easy to use
    • 222
      Does not require server
    • 27
    • 22
      Small & Fast
    • 18
      Feature based workflow
    • 15
      Staging Area
    • 13
      Most wide-spread VSC
    • 11
      Role-based codelines
    • 11
      Disposable Experimentation
    • 7
      Frictionless Context Switching
    • 6
      Data Assurance
    • 5
    • 4
      Just awesome
    • 3
      Github integration
    • 3
      Easy branching and merging
    • 2
    • 2
    • 2
      Possible to lose history and commits
    • 1
      Rebase supported natively; reflog; access to plumbing
    • 1
    • 1
      Team Integration
    • 1
      Fast, scalable, distributed revision control system
    • 1
    • 1
      Flexible, easy, Safe, and fast
    • 1
      CLI is great, but the GUI tools are awesome
    • 1
      It's what you do
    • 0

    Sign up to add or upvote prosMake informed product decisions

    Cons of BitKeeper
    Cons of Git
      Be the first to leave a con
      • 16
        Hard to learn
      • 11
        Inconsistent command line interface
      • 9
        Easy to lose uncommitted work
      • 7
        Worst documentation ever possibly made
      • 5
        Awful merge handling
      • 3
        Unexistent preventive security flows
      • 3
        Rebase hell
      • 2
        When --force is disabled, cannot rebase
      • 2
        Ironically even die-hard supporters screw up badly
      • 1
        Doesn't scale for big data

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is BitKeeper?

      BitKeeper is a fast, enterprise-ready, distributed SCM that scales up to very large projects and down to tiny ones.

      What is Git?

      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use BitKeeper?
      What companies use Git?
        No companies found
        See which teams inside your own company are using BitKeeper or Git.
        Sign up for StackShare EnterpriseLearn More

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with BitKeeper?
        What tools integrate with Git?

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        Mar 24 2021 at 12:57PM


        Mar 4 2020 at 5:14PM


        What are some alternatives to BitKeeper and Git?
        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.
        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.
        JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
        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.
        Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
        See all alternatives