So I just started in a Senior Product role at one of those two alternatives that you prefer Github to. Any chance you'd be willing to share some specifics that you prefer from GitHub?
Sure! Here is a list of the most important ones (not in any particular order):
- The pull request and code review UI are more user friendly. Everything I need is within reach and clearly visible (build status, test runs, change suggestions, discussions, etc). Gitlab has most of it, but Bitbucket is far behind on this.
- I spend a lot of my "open-source" time on GitHub, so the whole workflow/UI feels super natural to me.
- Issues can track tasks, Discussions can track talking. This is great to keep things organized.
- Great (and simple) release page (recently they added automatic changelog generation from merged PR, which makes it even better).
- GitHub Actions. This is a game changer. It is a well crafted, well documented way of implementing new things in the project workflow. Being able to use a "random" action someone put up that does what I need is priceless. It's like using open-source libs to enhance my code pipeline (allows reusability, discovery, etc). This is also great for CI/CD.
- GitHub projects beta has built-in support for sprints, as well as custom fields (integrated with issues, which is awesome). Everything seems to orbit around the code (imagine coding some custom GitHub action, whose code lives in the same repo as my project, which reacts to the content of a particular issue).
- Issues (and discussions) use markdown and can embed images, videos, spreadsheet, etc, very easily.
This is amazing insight - thank you so much for taking the time, I really mean it.
Let's see if I can stretch the friendship ;)
Would you say that it's fair to say that there's a common theme running under a few of this items which is that Github see's the Repo as the "core entity", and has everything else hanging off that (Project management, conversations, pipelines, etc).
Whereas something - lets say the Atlassian suite for example, more see's "projects" as that "core entity", and then has things like your code, pipelines, conversations, etc hanging off it?
Also a question on Github projects (and this may just be my ignorance), but are the projects in Github tightly coupled to certain repo's? I never liked Gitlabs project tooling because the "Project" was too tightly coupled to a repo, making it kinda jank when you were working on a project that touched multiple repo's.
If you're gitlab, then ignore his criticisms, github is trash. If you're working on bitbucket, then you have my condolences.
Oh except one thing - when I'm reviewing commits, I want to see tags if there are any. I would also like to quickly be able to tag a release while seeing the last version number.
It would make it less annoying to gather all the changes since my last tag for release notes.
You raise a really interesting point re: Tags. I know Bitbucket does have some commit tag grouping functionality. Have you seen a system for that process in Github or Gitlab that you prefer?