The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
I'd recommend Github which also has the advantage that it works with every other tool and development platform out there from Linux to Windows.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
My setup also involves a server where all development projects and files reside. My main development PC uses mapped drives (not available offline, since it is always connected to the server) and my laptop uses the same mapped drives configuration except they are marked to be available offline.
I only work on the laptop one or two days a week. Before leaving the office, I simply synch all the offline files. This allows me to work wherever I need to (on the laptop) with or without an internet connection. When I get back to the office, I let the laptop synch any changes with the file server. As a sidenote, this also makes for a very good backup system...if the server crashed, all my code is safe on the laptop.
One thing I didn't see anyone mention that is specific to your case:
You'll need to be careful with choosing a cloud-based provider. Unity projects can get enormous because the UI will expect to check in your asset files as well. Asset files are very large, and (can be) binary, which means they won't play well with most source code control systems.
Using raw Git will have a learning curve, but you could use your desktop as your "server". Git does not have a built-in concept of a central server. Every machine that has Git installed is both a server and a client. A central server in a Git organization is simply one that all the developers of that organization agree upon ahead of time.
As you work in NET and Unity, I believe that your winner free combination is using GIT with Visual Studio Community Edition. Visual Studio assists you in many GIT functions, and allows you to work in the cloud with Visual Studio Team Services, GitHub and any server that supports GIT Clone, Fetch, Pull, etc. You don't have to settle definitely on one cloud repository, because you can use a different one for each project.
Visual Studio Team Services is great for large software projects because it offers project control tools (Agile, Scrum, etc), and it is the only one that allows you to have some private projects for free. GitHub is the best for open source projects, etc.
I second the Git and BitBucket recommendation. I use it for all of my personal projects. You can access it from any computer, and you can also make code changes directly from your browser (I do this while I'm at work and need to make a quick bug fix).
I know there's a bit of a learning curve with Git command line, so look for some GUI options like GitExtensions, or something like that.
I have been using GIT, but I have had problems branching then not branching, and wound up going back to my basic source control - zip the whole project, putting yyyy-mm-dda_c (where 'a' is a letter that increments through the day, and 'c' is a short comment) at the end of the filename. The only time I have had trouble with zip is in zipping code for OSX on Windows, then trying to go back to it by unzipping on OSX.
I'd suggest using git without a central server - although you could easily use a central server - I suppose your desktop would kind of fill the role of a central server.
Since git is completely file based it doesn't care about where the files are, they can be somewhere over HTTP, HTTPS, or even a local file-system. Since a local file-system is a possibility it means you can use a UNC path to access a file-share on a remote system.
What this allows you to do is that you could set up your projects directory on your desktop as a file share on your desktop, and then pull/push between your laptop and desktop. So you get all the benefits of version control - without needing to set up a server to host it all.
Of course you also lose the benefits of having an off-site backup, but you could always periodically push to some free source control server like Bitbucket or Github periodically.
Also since everyone it suggesting clients - I'd throw Git Extensions into the mix. It's not that polished, but it doesn't try to hide how git is working from you. It's just a GUI layer that maps (more or less) 1:1 to git commands.
Last Visit: 31-Dec-99 18:00 Last Update: 27-May-17 15:23