Programmers - teach me about version control

Also, if you don’t get to work on your hobby projects as often as you’d wish, a diff is a great way to see what you were doing last time.

There’s the ability to roll back to a previous version if what you’ve done turned out to be stupid.

But as you said, at its most basic it is a method of backing up that is designed for backing up code.

Oh and I’ve often gone to Bitbucket’s website to refer to code. Maybe I’ve done something at home that might be useful for work, it is a few taps away on my phone. Out mingling with other developers, again I can access my code.

I honestly can’t think why you wouldn’t do it. Well, unless you are paranoid about other people having access to your code.

Finally, I write games using Unity. They now have a free (for projects up to 1GB) cloud build service. You check in code and it builds for specific targets for you. In theory you could developer for iOS without ever launching Xcode or for Android without ever installing the SDK.

nm

To be clear, BigT was referring to GitHub specifically rather than just git alone. Diffs and stuff work fine on a local repository.

The shorter justification for using GitHub is just all the same reasons why you might use a cloud file service instead of keeping your files local. Collaboration, backups, availability anywhere, etc. That stuff is on top of the usual benefits of source control (whether distributed or centralized).

I simply can’t split the two. Git without a server is just asking for trouble.

So, I would describe myself as “pre-hobbyist” programmer. I suppose it’s reasonable for me to work through my book and its exercises BEFORE looking at GitHub? Any comments?

No reason you can’t do both at the same time, depending on how much you’re comfortable doing at once. (But as mentioned above, git and GitHub are separate things.)

FWIW, I’ve found books with exercises helpful for getting started with new programming languages, but the only way to really learn it is to try and build a project, or contribute to an existing project. But everyone learns differently, so do what feels natural for you.

Maybe I need to read the posts more closely- I was gathering that GitHub was a way to subscribe to a Git platform. (I also understand that it is a community of users).

Git is free software which lives on your computer. You don’t need a git server to get started, but GitHub will provide a server for you. A git server allows you to “push” your repository to a remote place so you can access it from elsewhere (“pull” it) and more easily share it with others. GitHub is popular and provides a number of nice tools on top of git, but is not required.

I found this online book very helpful in learning the philosophy and usage of both Git and Github.

Thanks. I’ll look at that.

I highly suggest going through a git tutorial before you pick up Github. Not because there’s anything hard about Github, but because it’s extremely helpful to understand the distinction between the two. Once you are pretty familiar with your experimental git project, then learn how to transfer it to Github, and you’ll have a pretty good education.

So I would get git first, work through that , then sign up with GitHub?

Yes, git is free and local. Load up on those concepts. Google “git tutorial” and work through that. Then GitHub will make a lot more sense to you.

Here’s my best way to explain it… if you’ve ever tried to get several jobs at several different times, and you have Resume_companyA.doc, Resume_companyB.doc, Resume2_companyB.doc… version control will suddenly make a lot of sense to you.

No need for a server at all. You can set up remotes on locally mounted file systems, too. I keep a directory in my Dropbox for this purpose, so I don’t have to constantly push private stuff to Github. And when I’m on another machine, I can pull immediately.

mkdir my_remote; git init --bare; git remote add dropbox path/to/remote

This is a git repo, too. You can branch and prune and everything else that’s needed, too.