Archives for the tag: git

The Internet is full of articles on why you should not 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! There are (at least) two tools that can help track the history of software dependencies in your project while allowing you to keep using git: git subtree google repo In this post I will be looking at git subtree

Continue reading »

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. Or worse: they're written in Tcl/Tk... In short, I don't trust 'em. So command line it is for me, which is fine because I love my command line. Except once in a while, it's nice to be able to see a "graphical" view

Continue reading »

Stash 2.4: Forking in the Enterprise

The distributed nature of Git gives development teams a plethora of options when choosing how to collaborate on projects. Teams migrating their development to Git need the flexibility to best work with code in a distributed enterprise environment. Common practices have emerged using branch- and fork- based workflows, igniting debates on how they can best be used in the enterprise. Today we're pleased to announce Stash 2.4, which offers the choice and flexibility enterprise teams need to manage

Continue reading »

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 team which works differently from the JIRA team. They all share a similar Agile process but have different approaches to branching, Continuous

Continue reading »

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. Not as magical as mini ponies but ... you get the picture. It is still awesome to me even though I've been working with git for a while already. I am talking about automated merges from

Continue reading »

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 -b STASHDEV-1234-fix-capitalisation-of-Stash Switched to a new branch 'STASHDEV-1234-fix-capitalisation-of-Stash' .. change capitalization of one word in a template

Continue reading »