Need advice about which tool to choose?Ask the StackShare community!
Bitbucket vs SourceTree: What are the differences?
What is Bitbucket? One place to plan projects, collaborate on code, test and deploy, all with free private repositories. 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.
What is SourceTree? A free Git GUI client for Windows and macOS. Use the full capability of Git and Mercurial in the SourceTree desktop app. Manage all your repositories, hosted or local, through SourceTree's simple interface.
Bitbucket and SourceTree are primarily classified as "Code Collaboration & Version Control" and "Source Code Management Desktop Apps" tools respectively.
Some of the features offered by Bitbucket are:
- Unlimited private repositories, charged per user
- Best-in-class Jira integration
- Built-in CI/CD
On the other hand, SourceTree provides the following key features:
- Full-powered DVCS
- Create, clone, commit, push, pull, merge, and more are all just a click away.
- Review your outgoing and incoming changesets, cherry-pick between branches, patch handling, rebase, stash, shelve, and much more.
"Free private repos", "Simple setup" and "Nice ui and tools" are the key factors why developers consider Bitbucket; whereas "Visual history and branch view", "Beautiful UI" and "Easy repository browsing" are the primary reasons why SourceTree is favored.
PayPal, Salesforce, and Starbucks are some of the popular companies that use Bitbucket, whereas SourceTree is used by Zillow, PedidosYa, and Coderus. Bitbucket has a broader approval, being mentioned in 1735 company stacks & 1449 developers stacks; compared to SourceTree, which is listed in 615 company stacks and 400 developer stacks.
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 repos905
- Simple setup398
- Nice ui and tools347
- Unlimited private repositories341
- Affordable git hosting240
- Integrates with many apis and services123
- Reliable uptime119
- Nice gui86
- Pull requests and code reviews84
- Very customisable58
- Mercurial repositories16
- SourceTree integration14
- JIRA integration11
- Track every commit to an issue in JIRA10
- Best free alternative to Github8
- Deployment hooks8
- Automatically share repositories with all your teammates7
- Compatible with Mac and Windows7
- Source Code Insight6
- Price5
- Login with Google5
- Create a wiki5
- Approve pull request button5
- Customizable pipelines4
- #2 Atlassian Product after JIRA4
- Continuous Integration and Delivery3
- Unlimited Private Repos at no cost3
- Also supports Mercurial3
- Teamcity2
- Mercurial Support2
- IAM2
- Issues tracker2
- Open source friendly2
- Multilingual interface2
- Academic license program2
- IAM integration2
- Free Private Repositories0
Pros of SourceTree
- Visual history and branch view205
- Beautiful UI162
- Easy repository browsing134
- Gitflow support86
- Interactive stage or discard by hunks or lines74
- Great branch visualization21
- 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 often10
- So many bugs8
- Fetching is slow sometimes6
- Very unstable4
- Can't select text in diff (windows)4
- Extremely slow4
- No dark theme (Windows)4
- Freezes quite frequently2
- Can't scale window from top corners2
- Requires bitbucket account2
- UI blinking2
- Doesn't differentiate submodules from parent repos2
- Diff makes tab indentation look like spaces2
- Windows and Mac versions are very different2
- Windows version worse than mac version2
- Diff appears as if space indented even if its tabs2
- Doesn't have an option for git init2
- Useless for merge conflict resolution2
- Generally hard to like1
- No reflog support1
- Installs to AppData folder (windows)1
- Bases binary check on filesize1
- Can't add remotes by right clicking remotes (windows)1