Home Authors Posts by Git Repository backup techniques - professional tools or self-made script
Git Repository backup techniques - professional tools or self-made script
0 POSTS 0 COMMENTSBackup is something obvious when it comes to endpoints, servers, virtual machines and even SaaS services like Microsoft 365. But there is one very important kind of data that needs to be protected - source code. The widely used version control system today, Git and hosting services like GitHub or Bitbucket where most lines of code are hosted nowadays, ensures protection but even recommends having additional third-party backup software. But can you protect your source code on your own? Is it tough, time-consuming or expensive? Let’s find out. _______________________________________________________________________ Git clone _______________________________________________________________________ To write our own backup script we can use the built-in tools in Git. One of them is the Git clone (https://gitprotect.io/blog/how-to-clone-a-git-repository/). As the name suggests, it creates a clone of the entire repository. Even more - each local clone is a full copy of the entire repository as Git is a distributed version control system. In theory we should be able to restore the entire repository cloned with this function. But the reality seems quite different and there is a trick. We can parameterize this function and therefore our local copy does not have to correspond in a 1:1 ratio to what is on the external server. _______________________________________________________________________ Git bundle _______________________________________________________________________ To make a DIY git repository backup script we can also use a bundle function that downloads a copy of a repository to a local disk with one fundamental difference from a git clone. The bundle function downloads a single archive-file. Thus it is not commonly-used in everyday work because we cannot work on repositories downloaded this way. But this archive-file might be useful to recreate our repo once needed. _______________________________________________________________________ Git clone and git bundle functions might help us build our own repository backup script. We can also use Git pull calls to keep files up-to-date. However, we need to maintain and update our scripts on a daily basis (ie. add new repositories). We also need some storage space to save such made copies on. Finally, as it is not intuitive and manageable, we need to dedicate a person who will control and maintain this script. In the long-term, you might discover that a very simple, cheap script you made in minutes, costs you an unimaginable amount of money, administrative time, and workload. Finally once you need to quickly restore your data you find out that your script makes copies but can not restore them. So you spend the next hours writing another script for restore. Your business is down, your programmers can't work, and you are losing money. _______________________________________________________________________ Git backup software _______________________________________________________________________ Popular hosting services such as Bitbucket or Github encourage the use of third-party repository backup tools, like GitProtect.io. It’s fully automated, professional and manageable repository backup software. Access to a web-based central management console, intuitive interface, predefined (or customized) backup plans make it easy to use for anyone - even without special IT skills. Thus in a long-time perspective it reduces time and costs spent on administration. It provides encryption, versioning, long-term retention, and more enterprise-class features. Thanks to plan-based recurring backups and deep integration with GitHub or Bitbucket it works automatically, so you can focus on your core duties.