My last post got fairly positive feedback, 77% upvotes on Reddit. But in the comments I was asked to add an important practical use-case, how to split commits. So instead of editing my previous post, I decided to make a new post demonstrating how I would do that.
Rebasing in Git is basically replaying commits on top of each other. But with interactive rebase you are in control of how they should be replayed and what should be done with them. You can re-arrange them, skip them, reword them, edit their changes and squash them together. This is a very powerful tool.
This article will teach you how to set up a basic service and repository, to isolate your BLL (Business Logic Layer) from your DAL (Data Access Layer), so you can easily create unit tests for your BLL. This solution doesn’t use any ORM (Object Relational Mapping) like e.g. Entity Framework. This is only to explain how to isolate logic from data and how to test your logic in isolation.
Config Transforms are a nifty method to have your configuration vary, depending on which build configuration you are running or what servers you are publishing to. This gets the most useful when you’re deploying to many kinds of different servers; Development, staging, production, etc.