Need advice about which tool to choose?Ask the StackShare community!
Bitbucket vs SourceTree: What are the differences?
Introduction
This Markdown code provides a comparison between Bitbucket and SourceTree, focusing on their key differences.
Integration and Hosting: Bitbucket is a web-based hosting service that allows users to host private or public repositories, while SourceTree is a client application for managing and interacting with Git and Mercurial repositories. Bitbucket provides seamless integration with other Atlassian products like Jira, Confluence, and Trello, enhancing project management capabilities. On the other hand, SourceTree integrates with various Git hosting platforms, making it suitable for developers working with multiple repositories.
User Interface: Bitbucket has a user-friendly and intuitive web interface, allowing users to navigate repositories, manage pull requests, and view code diffs efficiently. SourceTree, being a desktop application, provides a visually appealing interface with a wide range of features for managing repositories, including git flow, repository bookmarking, and a visual diff viewer.
Collaboration Features: Bitbucket offers a robust set of collaboration features, such as pull requests, code reviews, and inline commenting, enabling seamless collaboration between developers. SourceTree, on the other hand, offers limited collaboration features as it primarily focuses on managing and interacting with repositories at an individual developer level.
Version Control Support: Bitbucket supports both Git and Mercurial version control systems, providing flexibility to developers depending on their preferred system. SourceTree supports multiple version control systems, including Git and Mercurial, allowing users to work with repositories using different systems in a single application.
Platform Availability: Bitbucket is a web-based service accessible from any modern web browser, making it platform-independent. SourceTree, although primarily developed for macOS, is also available for Windows users, allowing developers to use the same client application on different operating systems.
Advanced Features: Bitbucket offers advanced features like code search, built-in continuous integration and deployment (CI/CD), and project management capabilities, providing a comprehensive solution for development teams. While SourceTree offers advanced features like the ability to create and manage Git flow branches, stash changes, and interactive rebasing, enhancing the version control workflow for individual developers.
In summary, Bitbucket is a web-based hosting service with seamless integration, robust collaboration features, and advanced project management capabilities. SourceTree, being a client application, provides a visually appealing interface, support for multiple version control systems, and advanced features for individual developers.
Do you review your Pull/Merge Request before assigning Reviewers?
If you work in a team opening a Pull Request (or Merge Request) looks appropriate. However, have you ever thought about opening a Pull/Merge Request when working by yourself? Here's a checklist of things you can review in your own:
- Pick the correct target branch
- Make Drafts explicit
- Name things properly
- Ask help for tools
- Remove the noise
- Fetch necessary data
- Understand Mergeability
- Pass the message
- Add screenshots
- Be found in the future
- Comment inline in your changes
Read the blog post for more detailed explanation for each item :D
What else do you review before asking for code review?
One of the magic tricks git performs is the ability to rewrite log history. You can do it in many ways, but git rebase -i
is the one I most use. With this command, It’s possible to switch commits order, remove a commit, squash two or more commits, or edit, for instance.
It’s particularly useful to run it before opening a pull request. It allows developers to “clean up” the mess and organize commits before submitting to review. If you follow the practice 3 and 4, then the list of commits should look very similar to a task list. It should reveal the rationale you had, telling the story of how you end up with that final code.
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 Bitbucket
- Free private repos904
- Simple setup397
- Nice ui and tools348
- Unlimited private repositories341
- Affordable git hosting240
- Integrates with many apis and services123
- Reliable uptime119
- Nice gui87
- Pull requests and code reviews85
- Very customisable58
- Mercurial repositories16
- SourceTree integration14
- JIRA integration12
- Track every commit to an issue in JIRA10
- Deployment hooks8
- Best free alternative to Github8
- Automatically share repositories with all your teammates7
- Compatible with Mac and Windows7
- Source Code Insight6
- Price6
- Login with Google5
- Create a wiki5
- Approve pull request button5
- Customizable pipelines4
- #2 Atlassian Product after JIRA4
- Also supports Mercurial3
- Unlimited Private Repos at no cost3
- Continuous Integration and Delivery3
- Academic license program2
- Multilingual interface2
- Teamcity2
- Open source friendly2
- Issues tracker2
- IAM2
- IAM integration2
- Mercurial Support2
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 Bitbucket
- Not much community activity19
- Difficult to review prs because of confusing ui17
- Quite buggy15
- Managed by enterprise Java company10
- CI tool is not free of charge8
- Complexity with rights management7
- Only 5 collaborators for private repos6
- Slow performance4
- No AWS Codepipelines integration2
- No more Mercurial repositories1
- No server side git-hook support1
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