Git - Learning resources

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
jgrubb's picture

Hi! I haven't seen anything mentioned here about helping folks who aren't up to speed with Git getting up to speed with Git (couldn't resist). So -

The biggies -

There's some good stuff on here, especially the Book. The Book starts at the beginning, and I can't tell you where it ends, because I just haven't had to get that far with it yet.

Like I said in my introduction, I'm fairly new to development in general so I'm not sure how anything got done before a service like this one. It's fun. There are mountains of cool projects on there, categorized every which way, so if you're looking for something Drupal, well you'll get the point pretty quickly. It's got a pseudo-social-networking component, and it's free for open source projects. This is me.

There are also lots of good resources on there for learning Git as well. Namely learn.github.com.

=====

That should be enough to keep new converts busy for at least a day or two, but there are undoubtedly other resources out there, so let 'er rip.

John

Comments

Git from the Bottom Up

mparker17's picture

When I was learning Git, the first thing I did was read the official documentation. However, I found it a bit confusing (this was a few years ago... the official documentation has gotten better now).

I never really grokked Git until I read the online book, Git from the Bottom Up by John Wiegley (to get at the book using the above link, you must click on the link text "The following article" in the second paragraph — it's a PDF of about 815 KB).

I found this book super-helpful in understanding how Git worked, because it took me from the basic concepts, and explained how the "plumbing" worked (with helpful examples) at the same time as introducing the "porcelain" (which are plumbing shortcuts). I highly recommend this book, even if you're just starting out with Git.

The Git Model

mparker17's picture

If you don't mind reading UML diagrams, I've also found a helpful UML Git model from the article An introduction to git-svn for Subversion/SVK users and deserters, in the "Model Simplicity" section.

I found it helpful to refer to when reading Git from the bottom up.

New handbook page

bryan kennedy's picture

I started a Drupal handbook page of external Git resources and added the links that you've referenced so far. If anyone has any more to add, it would be cool to list them there.

http://drupal.org/node/783086

Hello, I'd like to point out

lelutin's picture

Hello,

I'd like to point out to the Pro Git book that's licensed under creative commons and is available online for free and for sale in paperback. The book was written mainly by Scott Chacon, which is a developer over at Github, and is actively maintained and translated by a community via the project available on github.

The book goes from the very basics and principles of git, to some very advanced techniques and a chapter about git's internals.
It has some nice and easy to comprehend graphs of example source code history scenarios that helps people with a visual mind to understand what goes where.

Now my advice would be: all the "git for svn users" guides are nice to read to make a quick jump into git. but git is very different from svn and all the similar interfaced-vcses (e.g. bzr).
So the best thing is to actually take the time to learn all the basic principles of git and to learn the git-way of doing things so that you won't bang your head while trying to reproduce a workflow you used with cvs/svn/bzr that actually doesn't make sense with git.

--
Gabriel Filion
Independant sysadmin

..and what's it like for Drupal

texas-bronius's picture

I personally use git for my own Drupal development if for nothing else for the shear speed of moving things between dev, staging, and production. However, I have troubles with db dumps. In addition to a compiled list of git learning resources, it would be great to see tacked on this same list some info on how it pertains specifically to our community: not just for d.o contribution but individually.

Collaborative effort?

alanburke's picture

Hi there,
I've started the work on this.
Git reference guide for site builders - http://drupal.org/node/803746
I'm just starting to use git for my own development, and the lack of documentation means I'll do it myself if needs be.
http://www.forwardthinkingdesign.com/blog/manage-and-deploy-drupal-code-...
describes a good way to use branches.
I got a bit of information on getting started at http://drupal.org/node/707484

Feel free to add to the doc - I'll keep plugging away as I learn n any case.