Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Learn git one commit at a time (gitready.com)
41 points by iamwil on March 25, 2010 | hide | past | favorite | 11 comments


I think the "beginner" section needs a lot more work. After reading the top 3 entries assuming beginner's level, I'm left with... wait... remote branch? tracking? merge? fetch? so how do I do this "commit" you're talking about? what are you talking about?

If they want to fulfil the goal of the site ("The goal with this site is to make it usable as a way for beginners to get off the ground using Git [...]"), they still have a long way to go.


So I started gitready as a way to learn git better, and document my experience. (Doing so again with Go here for the curious: http://golang.tumblr.com)

There's already great resources on learning git comprehensively from Scott Chacon, namely the Git community book and now Pro Git.

I think over time gitready has evolved into a 'recipes' site, and I like it that way. I have X problem with Git, how can I solve it?

That being said, I really want to redesign the site and reevaluate all of the content soon. My other open source projects (read: Gemcutter/RubyGems.org) have been sucking up my free time. :)


The best resource for learning Git that I've found is "Understanding Git Conceptually" [1].

[1] http://www.eecs.harvard.edu/~cduan/technical/git/


Git for the Lazy really helped clear some things up for me: http://spheredev.org/wiki/Git_for_the_lazy


I don't really recommend that approach, personally.

First, I disagree with the statement at the top of the page that you can think of Git as CVS or Subversion "without the cruft." In fact, Git is fundamentally different.

Second, I think it's important to have a good conceptual understanding of Git. You can't just learn how to interact with it; you'll get confused and not be able to use its full power.

Joel on Software directly addresses both of these points in a recent blog post [1] (which I probably found originally via HN).

[1] http://www.joelonsoftware.com/items/2010/03/17.html


I'm learning git right now and that little site produced a big increment in my comprehension. Still at 'grasshopper' stage, but now I'm doing stuff, rather than scratching my navel and drooling while looking at man pages and Stack Overflow answers.

Most importantly the man pages are more comprehensible now.


There's also a similar site for Mercurial users: http://hgtip.com/

Disclosure: I made hgtip.


Another small, self-indulgent note:

I'm looking for more translators for hgtip.com. So far Yuja Nishihara has done fantastic work translating the site to Japanese.

If you're a native speaker of something other than English and want to help out let me know! I'm sjl on BitBucket/GitHub, or you can email me at steve@stevelosh.com

I'm also looking for advice on how to translate the screencast-format tips like this: http://ja.hgtip.com/tips/advanced/2010-02-11-merging-mq-patc...

One idea I had was to create a display:none-by-default "transcription" div element below the embedded video which would contain the transcription of the screencast. There could be a "view transcription" link that would show that div. This would make it searchable and translators could translate that content into their languages.

This doesn't really solve the problem of translating the actual voice in the screencast though. Screenr (the site I used to make the screencast) doesn't support subtitles, but YouTube does. Is it possible to "fork" videos on YouTube and add different subtitles? I haven't found a way, but maybe I'm just not looking in the right place.

I'd really like to make the "screencast" format of tips work. Personally I'm very much a visual learner, so seeing a quick screencast of something helps me a lot. However, if it's going to be impossible to create a decent translation without a lot of work I'll abandon the idea (for now).


And Hg Init by Joel Spolsky: http://hginit.com/index.html


It was from reading hginit that I really "got" DVCS. I'd used git a bit before that, but it'd never really clicked before (tried to store everything in one huge repository, the same mistake Joel describes at the start of hginit.) Now I'm pretty much committed to mercurial, largely as a result of that tutorial.


Interesting resource. Not comprehensive but it looks like a decent resource to point newcomers to.

I think it would be useful for him to put together a faq for someone completely new to git and provide some kind of outline of what order to learn specific things.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: