Bitbucket vs GitBucket: What are the differences?
Developers describe Bitbucket as "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. On the other hand, GitBucket is detailed as "The easily installable Github clone powered by Scala". GitBucket provides a Github-like UI and features such as Git repository hosting via HTTP and SSH, repository viewer, issues, wiki and pull request.
Bitbucket and GitBucket can be categorized as "Code Collaboration & Version Control" tools.
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, GitBucket provides the following key features:
- Public / Private Git repository (http and ssh access)
- Repository viewer and online file editing
- Repository search (Code and Issues)
"Free private repos" is the primary reason why developers consider Bitbucket over the competitors, whereas "Self hosted" was stated as the key factor in picking GitBucket.
GitBucket is an open source tool with 7.73K GitHub stars and 1.06K GitHub forks. Here's a link to GitBucket's open source repository on GitHub.
PayPal, Salesforce, and CircleCI are some of the popular companies that use Bitbucket, whereas GitBucket is used by 8ack GmbH, Koch Essen Kommunikation + Design GmbH, and DairyWindow. Bitbucket has a broader approval, being mentioned in 1749 company stacks & 1492 developers stacks; compared to GitBucket, which is listed in 3 company stacks and 6 developer stacks.
I first used BitBucket because it had private repo's, and it didn't disappoint me. Also with the smooth integration of Jira, the decision to use BitBucket as a full application maintenance service was as easy as 1, 2, 3.
I honestly love BitBucket, by the looks, by the UI, and the smooth integration with Tower.
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.