Tier 3
Git subtree: the alternative to Git submodule
(Updated in January, 2017.) The Internet is full of articles on why you shouldn’t use Git submodules. I mostly agree, although I am not so harsh in my evaluation. As I explained in a previous post, submodules are useful for a few use cases but have several drawbacks. Are there alternatives? The answer is: yes! […]
Five Keyboard Shortcuts I Can’t Live Without
I’ve said it before – I’m a productivity junkie. If there’s a faster way to get something done, I’ll find it. That’s why I commit keyboard shortcuts to memory. Shortcuts for the actions I perform the most. Shortcuts that help me get more work done, faster. Since I spend 90% of my day working with my team in Confluence I thought I’d share the five keyboard shortcuts I use the most to get my job done.
Edit your code in the cloud with Bitbucket
Have you ever wanted to make a quick change to a file in a repository without having to clone it locally? You want to edit your code where it lives. Introducing the Bitbucket online editor: edit your code directly with Bitbucket – no command line, no cloning, no local editor. Edit any file, anywhere From Bitbucket, you can […]
Beautiful and relevant notifications
Staying up to date on code activity in Bitbucket just got easier. As part of our on-going notifications improvements we have completely redesigned the email notification experience. More control, more options and new HTML emails give you the information you want, when you want it. Every email has been rethought and redesigned for clarity and to keep […]
git? tig!
I’m a big fan of Git, but I’m not such a big fan of most UIs for it, especially the ones integrated into IDEs. I find them convoluted and confusing. They try to map some generic “VCS” language onto the commands, or try to hide too much, making it hard to understand what’s going on. […]
Git branching and forking in the enterprise: why fork?
Enterprise DVCS Workflows are settling and patterns are consolidating. The flexibility git gives teams is so broad that even within a single company different teams might use different approaches to code sharing and collaboration. I speak from hard evidence as this is exactly what happens at Atlassian. The Stash team works differently than the Confluence […]
Git: automatic merges with server side hooks (for the win!)
This will be standard and easily understandable to anyone who has already been working with git for a while. If you come from a centralized, old school version control background and you are thinking of switching to Git – which I heartily recommend – you will find the topic of this post awesome, almost magical. […]
How Stash Developers Avoid Branching from a Bad Commit
One of my colleagues recently blogged about how the Confluence team avoids creating feature branches from bad commits. This blog post describes how to take the same idea one step further. The Problem I hate it when I make a trivial change, something like: $ git checkout master Switch to branch ‘master’ $ git checkout […]
How to manage a product backlog with ease
Product owners have the challenging task of ingesting feedback from multiple sources, organizing it into a meaningful format, and communicating out to the product teams. Feedback is a critical part of the product life cycle. We can’t iterate to make our products better without it, as we talked about in our three-part series on collecting […]
Git-flow comes to Java
As a Java developer, I’m always trying to find ways to streamline all the mundane tasks that come along with development but aren’t necessarily part of the actual code I’m trying to write. Managing source control and performing releases are definitely on that list. I use Git as my DVCS of choice, and while it […]
How Confluence Developers Avoid Branching from a Bad Commit
The Stash team recently released the Stash-Bamboo plugin, which surfaces pass/fail results from Bamboo builds inside Stash. The main use case for the plugin is to let people reviewing a pull request see whether tests are passing on the development branch before they give the thumbs-up for merging it into master. Pretty cool. So I asked […]
How to Share Files with Your Team Using Confluence
Share files with your team using the File List Blueprint Too often files are trapped in shared network drives or email inboxes, making it impossible for everyone to have access to the most current version. We decided to tackle this problem with the File List Blueprint – which makes it easy to share and store […]
Git Titanium Armor: Recovering from Various Disasters
Git is an advanced tool. It features a philosophy that is dear to my heart: to treat developers as smart and responsible folks. This means that a lot of power is at your fingertips. The power to also shoot yourself in the foot – arguably with a titanium vest on – but shoot yourself nonetheless. […]
How to run effective meetings with Confluence
How many times have you left a meeting thinking it was a waste of time? Have you ever felt ‘meeting dread’ because you know that the next hour is time better spent actually getting work done? The fact is most of the meetings we attend during the day don’t accomplishing anything. Meetings with no agenda, meetings full of […]
Jira Admins: where is your field?
Do you know about the Jira Admin Helper? If you’re a Jira administrator, hold on to your hat: we’re about to move your configuration tasks at warp speed! The Jira Admin Helper is a free, bundled plugin that answers questions like: Why isn’t my field showing up on view/edit/create screens? Why can/can’t a user see […]
