We have about 100 projects and need to switch from office to home computer without feeling like anything is left behind on another computer. What is your best way to keep all dev files and assets for many projects in sync across 2-3 computers? I realize git is a potential solution. I just don't know if it's the true solution for the situation, unless it is? We have so many assets and projects being worked on. I can't imagine having to remember to commit on every project and if there's a commit left behind, etc.
What are your thoughts fellow devs!
Latest comments (41)
Noting here. We ended up going the git route. There really wasn’t any other better way. I do wish there was an easier way to share all the git ignored files however. But overall git was a good solution. The ignored files are just problematic to share on all the projects with other developers.
Use Yandex Disk, It is damn smooth in Sycing between computers and even with mobiles, Trust me you won't be disappointed, it has a free limitation upto 10GB but it is damn cheap for pro version as well
Gitpod.io :)
Have you considered developing on a remote environment/machine (via SSH) instead of your local machines? Visual Studio Code has an amazing plugin for this.
Have you tried AWS S3? It's not ready to go out of the box but you can configure it any way you want. I have a few batch scripts that I use to sync stuff with on a couple of my devices and it works well.
You should be mindful of the pricing with a large number of file transfers and size. It's also a good opportunity to poke around AWS if you haven't had the chance yet. They have a fairly generous free tier.
The most complete solution I've ever seen was one from 15 years ago where my colleague would use a VM as his drv environment. Then he would use s USB stick are his transfer medium.
Hmm I do appreciate it. I just feel like that's just not a good reliable real time option, having to constantly move files to a usb. No way I see that being reliable for us :) but appreciate it brother!!
Indeed, it doesn't much our accustomed is expectations.(that is why in mentioned the timeframe :) ) But, there as so many variables to consider that the os encapsulation is probably the only real solution which to be honest is why people use laptops as well.
I wouldn't complicate things with synchronizing hundreds or even thousands of files over sync solutions like dropbox or google drive. In the company I'm working for, using these cloud drives to store files are forbidden (mostly because of GDPR issues). And sometimes synchronizing a lot of small files can take a long time and is less reliable than git.
So my solutions right now are:
Hmm. I definitely appreciate your point of view. We're thinking of laptops, but you know the Team Viewer has always been kind of a hassle and it's not very productive. It's very slow and has other problems. It's good to do a quick thing, but if you really have to actually work through Team Viewer I would completely forget about that as an option.
I don't think it's worth to use GDrive/OneDrive for creating workspace.
For dotfiles I honestly found Git to work best. For OS-level tooling I'm slowly migrating to NixOS as my operating system of choice since it lets me rebuild my PC to an exact previous state with just one configuration file which is amazingly helpful.
For me, it's a combination of private VPS that I can SSH to and VS Code Remote Development.
How is it different from USB stick / external hard disk?
Well, aside from keeping all your code in one place, you can have your git histories, commits without syncing, and you can run build jobs, run docker containers, deploy codes, forwarding ports to preview code from your local computer. Pretty much anything you can do on your local computer, you can do it on the remote cloud.
Yeah would love to hear more about that option! @pacharapol I think it's different because you would leave the VPS connected to a main computer and I assume you could leave it in place and then any other computer could use that VPS remotely as a hard drive "in the cloud" by logging into it.