Inside Atlassian

Browse Git

Article in Git

Connecting Jira 6.2 to GitHub

In almost every instance, software development is a collaborative effort – multiple people are working with any given issue during an its lifecycle. Product owners, developers, as well as business stakeholders all need to be involved during the software development lifecycle. With Jira 6.2 we released deep integrations with Atlassian’s Git tools, Stash and Bitbucket. […]

Article in Git

Git and project dependencies

Consider the following questions: How do you handle project dependencies with git? Our project is made up of multiple inter-dependent repositories. Currently we manage those with svn:externals. What’s the best way to handle those with git? How do you split a very big repository in smaller components using git? [cta]The topic appears to be a big pain […]

Article in Git

How to tear apart a repository: the Git way

How do you divide a Git repo without squashing the history and breaking the original repo? I’ll show you how to do it with as little pain as possible, by splitting the main repository, thus making your team and Git happy at the same time! [button title=”Learn more about Git” url=”https://www.atlassian.com/git” class=”btn-success popup”] Here at […]

Article in Git

Simple Git workflow is simple

[cta]Many teams have already migrated to git and many more are transitioning to it now. Apart from training single developers and appointing Champions to help with the adoption it is imperative to pick a nice and simple code collaboration practice that does not complicate things too much. With git one can definitely conjure very complicated workflows, I’ve […]

Article in Git

Use Git even if your team doesn’t: git-svn tips and tricks

Before joining Atlassian, I’d been working on various projects that still used Subversion (SVN) as their version control system. I had moved to Git already years before, and I wanted to keep using it as much as possible. Luckily I could use git-svn: An incredibly complete solution to interact with Subversion repositories without leaving the comfort […]

Article in Bitbucket

The essence of branch-based workflows

Two weeks ago I had the pleasure of speaking at the Jazoon conference in Switzerland about Git workflows. One particular piece that seemed to resonate well with the audience was the idea of looking at the underlying rules when it comes to branch based workflows. Workflows A workflow defines steps that represent how your team […]

Article in Git

Git team workflows: merge or rebase?

The question is simple: In a software team using git and feature branching, what’s the best way to incorporate finished work back to your main line of development? It’s one of those recurring debates where both sides have strong opinions, and mindful conversation can sometimes be hard (for other examples of heated debate see: The […]

Article in Bitbucket

Inside Atlassian: feature branching on the Stash team

Stash is now called Bitbucket Server. Read our announcement blog. One question that every team faces when moving to Git is what development workflow to use. Since every team is different and has different requirements, there is no one-workflow-fits-all approach. However, there is one rule all teams should follow when looking for a new workflow […]

Article in Bitbucket

Git forks and upstreams: a how-to with cool tips

There are tons and then some useful guides on how to keep your forks updated against the upstream repositories (and if you’re wondering why you would want to use forks in an enterprise setting, check out a few reasons here). In this blog I will introduce you to few aspects of how forking interacts with […]

Article in Bamboo

Maven Git Flow Plugin for Better Releases

What is JGit Flow and why do I need a Maven plugin? If you missed my other blog post, I recently released a Java library named jgit-flow that implements the git-flow branching and merging model introduced by Vincent Driessen in Java. My hope is that developers will use this library to integrate git-flow workflows inside […]

Article in Bitbucket

Git subtree: the alternative to Git submodule

[cta] (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: […]

Article in Git

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. […]

Article in Git

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. [cta] I speak from hard evidence as this is exactly what happens at Atlassian. The Stash team works differently than the […]

Article in Bitbucket

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. […]

Article in Bitbucket

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 […]