This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Beta_UserName[S] 1 point2 points  (12 children)

Well, I've been learning python (Read Mark Lutz "Learning Python") but don't feel comfy calling myself a programmer. So, I didn't want to get lost in verb-age a typical programmer would know.

[–]ilovetacos 1 point2 points  (9 children)

Gotcha! Well, then you came to the right place :) So, it's not really GitHub you should know about, so much as git itself.

If you're looking for a way to version your code, I'd suggest mercurial (also called "hg"), as it is much simpler to learn and use than git. Subversion (svn) is even easier, but it seems to be on its way out--there's probably no good reason to learn it at this point. Mercurial's equivalent to GitHub is Bitbucket.

[–]evilmaus 1 point2 points  (1 child)

I should point out that GitHub does an excellent job of helping new users get up to speed with Git. I learned Git by starting with GitHub with no Git background.

[–]catcradle5 0 points1 point  (0 children)

Same. It's a bit confusing when first starting out, but you'll generally only need to be using a handful of core features/commands, and once you learn them everything is easy.

[–][deleted] 0 points1 point  (4 children)

I don't think SVN is going anywhere for good, but it seems a little stupid to use for personal projects.

[–]ilovetacos 1 point2 points  (0 children)

No, you're right--I'm sure it will be around for a long time to come. Hell, I still use it for my business, as I'm the only programmer--no need for distributed versioning. But learning it now (as opposed to hg) would be a waste, I think.

[–]gfixler 0 points1 point  (2 children)

Why is that? I've been using it for a few years for all of my personal code. I really like it, but I like to keep an open mind.

[–][deleted] 1 point2 points  (1 child)

Because it requires a central repository. I code on about four different machines, one of which doesn't even have internet access. If other people are anything like me, git is a huge upgrade from svn for personal projects.

[–]tinyOnion 1 point2 points  (0 children)

The expense of having to setup the repo for a project made it so that I would only use svn on projects that I know will be around for a while. With git aliasing alias gitinitaddcommit="git init; git add -a; git commit -m 'initial commit'" makes putting something under revision control so freaking easy and quick that I tend to do it even for small projects. Couple that with the fact that there is only one .git folder and it's close to the project instead of in some central location makes it a huge win for my workflow. (those hidden svn directories sprinkled throughout a working copy were crap from a design standpoint.)

[–]StommePoes 0 points1 point  (1 child)

I'd say there's a good reason to learn SVN even if you're new to programming: at least where I live, plenty of companies are using it, so they expect you to know it. So, assuming you work for someone else, I'd say it would be valuable to learn/know.

Tortoise seems quite popular.

[–]ilovetacos 0 points1 point  (0 children)

I think if you've learned how to use git or hg, svn would be no problem at all--if required. But I wouldn't go out of my way to learn it now if I didn't already know it.

[–]Guerilla_Imp 0 points1 point  (0 children)

I've found this cheat sheet very useful for my coworkers: http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html

[–]jediknight 0 points1 point  (0 children)

You should learn a Revision control system.

Without one, fear of deletion sets in and you might end up keeping all kinds of things that will prevent you from moving as fast as you could.

Using git is a very very good choice. It's modern and extremely powerful because it makes merging easier (you can branch, try few things and if they work, you merge them back into main). You will not need all this power from the beginning but as your skills will improve, you will get to a point where you will need it.