Need advice about which tool to choose?Ask the StackShare community!
Git vs Plastic SCM: What are the differences?
Git and Plastic SCM are both version control systems used for tracking changes in source code and collaborating on software development projects. Here are the key differences between Git and Plastic SCM:
Distributed vs Centralized: Git is a distributed version control system, which means that each developer has a complete copy of the entire code repository on their local machine. This allows for offline work, faster operations, and better resilience to network outages. Plastic SCM, on the other hand, is a centralized version control system where the code repository is stored on a central server. Developers need to connect to the server to access the codebase and perform version control operations.
Branching and Merging: Git is well-known for its powerful branching and merging capabilities. It allows for easy creation of branches, switching between branches, and merging changes from one branch to another. Plastic SCM also supports branching and merging, but it uses a branch-oriented model that provides features like branch inheritance and branch attributes, making it more suitable for complex project structures and large teams.
Performance: Git is designed to be fast and optimized for performance, especially when dealing with large codebases and extensive histories. It uses efficient algorithms and data structures. Plastic SCM uses a database backend for storing and retrieving code changes. This allows Plastic SCM to handle large files and repositories efficiently, particularly in scenarios where fast database queries are crucial.
User Interface and Integration: Git is known for its command-line interface (CLI), which provides powerful and fine-grained control over version control operations. It also offers GUIs and third-party tools that simplify the usage of Git. Plastic SCM provides a graphical user interface (GUI) as its primary interface, offering a visual representation of the code history, branches, and changes. It also integrates with various IDEs and development tools, providing seamless integration into the development workflow.
Community and Ecosystem: Git has a large and active open-source community, making it highly popular and well-supported. Platforms like GitHub and GitLab are built around Git, offering extensive resources and plugins. Plastic SCM has a smaller user base but provides dedicated support and services, including its own hosting platform.
In summary, Git is a distributed version control system known for its branching model, performance, and extensive community support. Plastic SCM, on the other hand, is a centralized version control system that offers unique features such as a branch-oriented model and a graphical user interface.
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.
Pros of Git
- Distributed version control system1.4K
- Efficient branching and merging1.1K
- Fast959
- Open source845
- Better than svn726
- Great command-line application368
- Simple306
- Free291
- Easy to use232
- Does not require server222
- Distributed27
- Small & Fast22
- Feature based workflow18
- Staging Area15
- Most wide-spread VSC13
- Role-based codelines11
- Disposable Experimentation11
- Frictionless Context Switching7
- Data Assurance6
- Efficient5
- Just awesome4
- Github integration3
- Easy branching and merging3
- Compatible2
- Flexible2
- Possible to lose history and commits2
- Rebase supported natively; reflog; access to plumbing1
- Light1
- Team Integration1
- Fast, scalable, distributed revision control system1
- Easy1
- Flexible, easy, Safe, and fast1
- CLI is great, but the GUI tools are awesome1
- It's what you do1
- Phinx0
Pros of Plastic SCM
- Wanna do Branch per Task Dev? Plastic rocks it8
- No Size limite4
- File Locking2
- Simple, easy to use interfaces. Resilient and solid2
- Very fast1
Sign up to add or upvote prosMake informed product decisions
Cons of Git
- Hard to learn16
- Inconsistent command line interface11
- Easy to lose uncommitted work9
- Worst documentation ever possibly made7
- Awful merge handling5
- Unexistent preventive security flows3
- Rebase hell3
- When --force is disabled, cannot rebase2
- Ironically even die-hard supporters screw up badly2
- Doesn't scale for big data1
Cons of Plastic SCM
- Always uses automatic conflict resolution first1
- Adds files with only changed timestamp to pending1
- Keyboard shortcuts are lacking1
- Can't place windows next to each other to save space1
- No dark theme1
- Doesn't have file staging1