One of the sessions I attended at That Conference was the “Understanding Git Part-2” talk by Keith Dahlby. I have worked with git and github a lot over the last 5 years, but I learned quite a bit from this talk. In this post, I will highlight some of the most useful takeaways.
Until recently we used Microsoft TFS for all of our source control. It worked well enough for small, simple projects where all that was necessary was basic check in/check out functionality.
As our business grew, we started running into limitations with TFS. We found that our clients for the larger projects would request new features that would take multiple months to complete, but still have smaller spot-changes for the project as those features were being worked on. In a standard source control system, branching allows you to work on a feature while the existing codebase is still available for modifications, but in TFS when those branches needed to be merged back together it usually ended up being a massive headache.
The perfectly named git cherry-pick command is similar to git merge in that you can copy commits from a different branch into your current branch. However, where merging will copy all of the commits from the other branch, cherry-pick is useful when you only want to copy specific commits into your branch.