Stitcher for Podcasts

Get the App Open App
Bummer! You're not a
Stitcher Premium subscriber yet.
Learn More
Start Free Trial
$4.99/Month after free trial
HELP

Show Info

Episode Info

Episode Info: In most development organizations, source control plays a critical role in just about everything. Far from simply providing a place for code to be stored securely, source control in modern organizations underpins things like software build processes, automated testing, deployment, and may even have legal implications. Source control has become a critical part of all software development and is one of those things you are expected to understand. In addition to being a critical underlying technology for software operations in general, proper use of source control can provide an organization with significant advantages when it comes to the ability to maintain software that is already in use. It makes it far easier to respond to critical bugs, even if your team was in the midst of developing major new features that aren’t ready for prime time yet. Source control also facilitates software teams – without it, it quickly becomes very difficult to merge code written by multiple developers. Good source control systems make sharing and modifying code possible in a large team. Additionally, controls on such systems make it much easier to control the code that is being released, which not only helps with stability, but also makes releases easier. As always, we’re taking many of our definitions from wikipedia because they say better than we can, and then explaining things in basic English. We’re going to organize this outline based on the typical process used to make a feature branch, do some work, and then get those changes out into the master branch, so that we aren’t spending half an hour boring you with definitions. We’re also leaning a bit towards git, as that is one of the most common distributed source control systems out there, although most of this stuff will apply to most version control systems out there. Source control is a critically important part of any developer’s workflow. Like many tools, such as development environments, package managers, and the like, you can get by without it. However, it’s generally extremely painful to try to do so. Good practices around source control make it far easier for both you and your team to do their jobs well. There is no honor in failing to use good tools to do a good job; you aren’t proving anything by doing it the hard way. In fact, you may be doing things poorly by doing them the hard way. Episode Breakdown The Code Repository Code is stored in a source control repository that can be thought of as a directed acyclic graph. The “trunk”, release branch, or master, reflects the version of the code that is currently in use in production. We’re going to call it the master branch. A commit to master tends to do thinks like trigger automated builds, unit tests, and deployments. This needs to be controlled carefully to make sure code is vetted before being released. The current version of master, or its head, is the most recent commit to master. Branches occur when you need to snapsho...
Read more »

Discover more stories like this.

Like Stitcher On Facebook

EMBED

Episode Options

Listen Whenever

Similar Episodes

Related Episodes