Have you ever had a scenario where you need to maintain versions of a set of files? Or have you needed to collaborate on files with colleagues in some way? That’s a common scenario for developers, infrastructure engineers or data scientists/developers. It’s an increasingly common problem. Some people solve this using file shares or FTP Servers with numerous files, v1, v2, v2-final, but that doesn’t scale and is quite a messy approach. Surely there is a better way? That’s where a Version Control System can really help you. One such option is Git. Git is a distributed version control system, which means that rather than relying on a central location to host and store the entire set of files and history, each machine has a full version of the codebase and history locally. This means each user can be productive locally and independently on their own machine. Git is also optimised to be very lightweight and perfomant.
Watch on YouTube
Listen to the Audio
Have you ever wondered how Git works behind the scenes? We’ll go ahead, initialise an empty folder as a Git repository and explore the .Git folder that is created.
Have you ever considered storing large binary files in your Git repositories? There are times where you may want to do this, e.g. for my podcast cloudwithchris.com to store my podcast files. Git LFS is an extension to Git which replaces large files with text pointers inside Git. Listen in to find out why you should care, how it works and what it is!
For some time, I’ve been using GitHub actions to update the content of my site (i.e. pages, descriptions, metadata, etc.). Through Hugo, these content updates automatically update the RSS feeds. This then makes the episodes appear in podcast services such as Apple Podcasts, Google Podcasts and Spotify. However, throughout that time I have been manually uploading the podcast files to my storage account. It wasn’t a significant overhead, but I kept thinking that there must be a better way to do this. And, there is - I’ve implemented it! This blog post will walk you through why I’ve made these changes, how I made them and what the result is.
Part 4 - The final part (at least for now, until I find somewhere else that we can expand on with this)! This part will focus on porting the keys that we have recently generated onto our YubiKey device. I own a YubiKey NEO, so i’ll be using that.