Advent Day 3: Oh Shit, Git!
December 3, 2018
Git is... weird. If you grew up with centralized version control systems, then moving to a distributed version control system is weird enough. But Git levels that up with concepts like the "detached HEAD state", commands like "merge-subtree" and error messages like "did you run git update-server-info on the server?" So I'm very sympathetic to new users being frustrated by Git. One of the things that I've always pointed new Git users to is "Oh Shit, Git!".
Read more
Advent Day 2: Fixup Commits and autosquash
December 2, 2018
When working on a development team, it's important to try to create a pull request that's easy for your peers to review. Some people like to look at the aggregate changes - the pull request itself. But some people like to look at each individual commit as a small piece of work to get a better understanding of the code. To help my collaborators get a better understanding of my changes, there are two useful git commands in particular that help me.
Read more
Advent Day 1: gitattributes for Text Files
December 1, 2018
A friend of mine asked to have a quick chat about a git problem that he was having and I knew before he even asked what it was going to be about: line endings. (It's always about line endings.) Be sure to use a .gitattributes to enforce your line ending preferences across all users of your repository.
Read more
Git Tips and Tricks Advent Calendar
November 30, 2018
This December I'll be publishing an advent calendar of Git top tips; a new tip or trick every day. I'll make sure to keep it a good mix of basic topics that useful for beginners (or just a good reminder) and a bit more complex topics to make sure that it's approachable for everyone. I'll keep this page updated as I go; I hope you enjoy!
Read more
A GitHub App for VSTS Build
September 8, 2018
Over the last few months, I've been trying to take a more broad view of DevOps. I've been working on Git for a bunch of years, and other version control systems for many more, so that will always be my home. But lately, I've been thinking a lot about build and release pipelines. So last weekend I decided to work on a fun project: using Probot to build a GitHub app that integrates with the Visual Studio Team Services build pipelines. Here's a walk-through of how to integrate VSTS with GitHub using Probot.
Read more
Jekyll with VSTS and Azure
August 14, 2018
I've been a big fan of the Jekyll website generator for a few years now. I use it for all my websites, and I've recently perfected my build pipeline in Visual Studio Team Services, and a deployment pipeline from VSTS to Azure. In particular, I use Jekyll with VSTS and Azure for the website for my podcast, All Things Git, and even after a few months, I couldn't be happier with this setup.
Read more
Upgrading git for the May 2018 Security Release
May 29, 2018
A security vulnerability in Git has been announced: a bug in submodule resolution can cause git clone --recursive to execute arbitrary commands. Here's information on how to find out if your version of Git is vulnerable, and how to upgrade if it is.
Read more
Git Credential Manager with Windows Subsystem for Linux
May 11, 2018
The Git Credential Manager is an incredibly useful way to sign on to Git hosting providers like Visual Studio Team Services, Bitbucket and GitHub. And you can set it up from the Windows Subsystem for Linux, so you can work on your git repositories from Windows and Linux using the same credential manager.
Read more
Introducing ntlmclient
May 6, 2018
I’d like to announce ntlmclient, a new open source library that I built. Usually I'd be announcing it proudly and encouraging you to use my code — but this time, I’d ask you to please not use it.
Read more
Git with Unity
March 22, 2018
I was invited to GDC 2018 - the Game Developers Conference - so I decided that I should do a little learning and start to understand a little bit more about game development. I decided to grab Unity and give it a spin; so far I haven't actually built anything useful, but I did start to understand how Unity fits in with Git.
Read more