Need advice about which tool to choose?Ask the StackShare community!
Git vs SourceTree: What are the differences?
Git and SourceTree are both version control systems that help developers manage and track changes in their codebases. Here are the key differences between the two.
User Interface: SourceTree provides a graphical user interface (GUI) that makes it easier for users to interact with Git repositories. It offers a visually intuitive way to manage and visualize different branches, commits, and file changes. Git, on the other hand, is primarily a command-line tool and requires users to have a good understanding of command-line operations to use it effectively.
Platform Compatibility: SourceTree is available for both Windows and macOS platforms, making it a more versatile choice for developers. Git, on the other hand, is a cross-platform tool that can be used on various operating systems including Windows, macOS, and Linux.
Integration with Other Tools: SourceTree integrates seamlessly with other popular development tools like JIRA, Bitbucket, and Trello. It provides built-in functionalities to create and manage branches, perform code reviews, and track issues. Git, although it doesn't have direct integrations, can be easily integrated with other tools using plugins and command-line utilities.
Advanced Git Features: While SourceTree offers a user-friendly interface, it may lack some of the advanced features that can be accessed directly through Git commands. Git provides a wide range of powerful functionalities such as rebasing, stashing, and interactive adding, which may not be fully exposed or easily accessed in SourceTree.
Command-Line Flexibility: Git offers a command-line interface that allows users to have more control and flexibility over their version control operations. This can be advantageous for experienced users who prefer to work with Git commands directly, as it allows for more fine-grained control and customization.
Learning Curve: SourceTree, with its graphical interface, provides a smoother learning curve for beginners who are new to version control systems. It abstracts away some of the complexities of Git and makes it easier to understand and use. Git, although initially more challenging for beginners, offers a more comprehensive understanding of version control principles and operations.
In summary, Git is a distributed version control system widely used for tracking changes in source code during software development. SourceTree is a Git client that provides a graphical user interface, enhancing the user experience and simplifying Git operations for developers who prefer a visual representation of their version control workflows.
I explored many Git Desktop tools for the Mac and my final decision was to use Fork. What I love about for that it contains three features, I like about a Git Client tool.
It allows * to handle day to day git operations (least important for me as I am cli junkie) * it helps to investigate the history * most important of all, it has a repo manager which many other tools are missing.
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 SourceTree
- Visual history and branch view205
- Beautiful UI164
- Easy repository browsing134
- Gitflow support87
- Interactive stage or discard by hunks or lines75
- Great branch visualization22
- Ui/ux and user-friendliness18
- Best Git Client UI/Features8
- Search commit messages7
- Available for Windows and macOS5
- Log only one file1
- Search file content1
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 SourceTree
- Crashes often12
- So many bugs8
- Fetching is slow sometimes7
- No dark theme (Windows)5
- Extremely slow5
- Very unstable5
- Can't select text in diff (windows)4
- Freezes quite frequently3
- Can't scale window from top corners3
- UI blinking2
- Windows version worse than mac version2
- Installs to AppData folder (windows)2
- Diff makes tab indentation look like spaces2
- Windows and Mac versions are very different2
- Diff appears as if space indented even if its tabs2
- Doesn't have an option for git init2
- Useless for merge conflict resolution2
- Doesn't differentiate submodules from parent repos2
- Requires bitbucket account2
- Generally hard to like1
- No reflog support1
- Bases binary check on filesize1
- Can't add remotes by right clicking remotes (windows)1