Over the years we've done a LOT of work with Git. Prior to that it was SVN and before that it was CVS (remember that one?). We do a lot of posting on our blog and over the years we've compiled the following top 5 git tips for your education and reference. Enjoy!
- A beginner's guide to GIT BISECT - The process of elimination
- Git: Push All Branches to a New Remote
- How to Integrate GitHub PRs with Bamboo CI
- Mechanizing Git bisect: Bug hunting for the lazy
- Using git-svn to manage standard and non-standard branches
Far and away our most successful Git blog post, this was written by our CTO, Tony Rost, back in 2012 and still receives thousands of visits per month. It is that good. In it, Tony walks you away from the slowest, most tedious way of finding a bad git commit (You checkout some old commit, make sure the broken code isn't there, then checkout a slightly newer commit, check again, and repeat over and over until you find the flawed commit.) and instead introduces you to git bisect.
Here's a scenario some of you might have encountered with your Git repositories. You have a working copy of a Git repo, say from an old server. But you only have the working copy, and the origin is not accessible. So you can't just fork it. But you want to push the whole repo and all the branch history to your new remote. Metal Toad Engineer, Keith Dechant walks you through how to push without changing your working copy.
This one is actually a five parter - addressing all of the issues with Bamboo + GitHub integration (perhaps because Atlassian wants to steer you towards Bitbucket). Out of the box, there are several headaches. This article by Principal Engineer, Dylan Tack, shows you how to solve each one for a successful GitHub Bamboo Ci Integration.
Another article diving into Git bisect, the powerful automated tool for searching deep into a project's history. Instead of searching for relevant commit messages, learn how to run a functional test on each Git revision until the first bad commit is identified.
An oldie but goodie, this article by Chuck Vose, walks you through using git-svn whether you've got a standard SVN setup or an old svn repo with just stackloads of changes.