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