No announcement yet.

How to backup projects/create copies without source control? Best Practices?

  • Filter
  • Time
  • Show
Clear All
new posts

    How to backup projects/create copies without source control? Best Practices?

    I was wondering if anyone had any best practices for this. I don't have any source control setup because of the costs involved. is there something I could setup that is free? currently I'm just cloning my projects and renaming them. I would much rather use source control. Should I even be using the clone feature? Would it be better to just copy the project folder and rename it? Any suggestions?

    What costs are you worried about? Both GitLab and GitHub is free for commercial use, including private repositories.
    LinkedIn, Engine Contributions
    Polars (WIP), Game Jam Projects
    Marketplace: Viewport Utilities, Blueprint Streams, Control Structures


      As KristofMorva said, the services are free for private repositories, so cost shouldn't be a reason. You should probably use one of them.

      However, since you are asking for some alternatives, here's other things you can do, but you probably shouldn't (since it sounds like you're an individual or small team developer).

      Every time you make a change you don't want to lose, zip/tar your directories. The downside is that this is a huge waste of space, relies on you coming up with a good file naming convention for the zip/tar files, and manually entering the file names correctly and consistently every time. Additionally, there is no structured information like a change list/commit or anything to give you a log of what work you've done. This really is an awful scheme and only one small level better than a single, non version controlled, non-backed up working folder.

      Local Only Repository
      It's simple to create a local repository with git (just run git init in a directory and you have yourself a new repository). This is local only, but I use it sometimes for small test projects I don't plan on keeping around long. If you wanted backups, you could git push your repository to a USB drive a couple times a week (with a calendar entry to remind you to do this so you don't forget). This is a lot better than the zip/tar option but has two major problems: (1) you cannot collaborate easily and (2) you have no offsite backups of the entire repository.

      Your Own Server Side Repository
      If you do need collaboration, or want a single off site backup, you can run a $5-10 per month server (e.g., Google Cloud Platform or AWS), enable SSH, install git, and setup some UNIX accounts. This will give you and your collaborators a place to sync git changes. You could do the same thing with Subversion, Mecurial, Perforce, Plastic, CVS, or any other version control system, all for roughly the same price (your main costs will be disk space, CPU, and bandwidth).

      Note that you only get a true offsite backup with a full distributed control system like git (non-lfs) or mecurial. If you are using Subversion or Git LFS, your only copy of the entire repository will be on the server, so you would have to do an additional backup of the server to make sure the repository itself is completely replicated.

      Why Would I Bother With This?
      • You're paranoid about intellectual property leaks (IMO the most likely would be github has a security flaw that allows someone to steal your code).
      • You want to do some internal integrations with other applications (something a big company might want to do)
      • You want to improve performance of the source control system (e.g., using a local perforce server to cache changes so that people in that office can update quickly over a fast local link).

      If none of the above apply to you, use a source control service. It's easy and cheap/free. Even if it wasn't free, it's probably going to be price competitive with running your own server side repository, but without the headache of managing your own server.
      Last edited by drichardson; 02-05-2019, 03:14 PM.