Jump to ratings and reviews
Rate this book

Version Control with Git

Rate this book
Version Control with Git takes you step-by-step through ways to track, merge, and manage software projects, using this highly flexible, open source version control system.

Git permits virtually an infinite variety of methods for development and collaboration. Created by Linus Torvalds to manage development of the Linux kernel, it's become the principal tool for distributed version control. But Git's flexibility also means that some users don't understand how to use it to their best advantage. Version Control with Git offers tutorials on the most effective ways to use it, as well as friendly yet rigorous advice to help you navigate Git's many functions.

With this book, you will: Git has earned the respect of developers around the world. Find out how you can benefit from this amazing tool with Version Control with Git .

297 pages, Paperback

First published May 1, 2009

Loading interface...
Loading interface...

About the author

Jon Loeliger

6 books7 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
200 (26%)
4 stars
348 (46%)
3 stars
160 (21%)
2 stars
35 (4%)
1 star
13 (1%)
Displaying 1 - 30 of 47 reviews
Profile Image for Kevin.
42 reviews17 followers
March 20, 2010
I recommend this book to anybody who has decided that Git is going to be their DVCS and intends to read the book sequentially, cover to cover. If you're still trying to decide between Mercurial, Bazaar and Git, this is probably a lot more information than you want or require. If you're looking for a quick reference, then the progressive structure may leave you scratching your head when jumping around topic areas.

Once you settle on Git, and want to invest the time to build up the conceptual framework you'll need to succeed with it, this book won't disappoint.
Profile Image for Jordan Howe.
3 reviews4 followers
February 17, 2011
Very clearly written, but not for dummies, and not a cookbook. Great book for people who need know why Git works the way it does, in addition to learning commonly used commands. It has most everything you need to use Git effectively. As a bonus, there are plenty of diagrams explaining the underlying git architecture.
Profile Image for Julissa Dantes-castillo.
332 reviews23 followers
March 13, 2020
The author has a great sense of humor, that made it an easy read, but not a useless one.

Everything is broken down to simplicity, and even if you have been working with Git for a long time you will definetly learn something new, or get a better undestanding of Git.
Profile Image for Peter Aronson.
361 reviews11 followers
April 29, 2021
Three-and-a-half-stars. I can understand why this book was organized the way it is, but I would have preferred if it had spent the first half of the book explaining Git's structures and storage without any reference to commands, and then, and only then, introduced the commands. The fact is, I can find perfectly fine command references for Git on-line, and even good examples, but getting a good description of what is going on under the covers would require either a lot of reading of code, or a book. But not this book. Oh, it does a pretty good job of describing the commands, but breaking up the description of Git's database (in the informal sense) with commands makes it much harder to grasp than necessary. (And probably no technical editor would allow the book to be written the way I would have preferred it because it would have turned away any customer wanting a command reference.)

But still, I did get a fair amount of information out of it by reading it cover-to-cover (less the sections on Subversion).
Profile Image for Venkatesh-Prasad.
211 reviews
October 31, 2019
Like "Pro Git" book, this is not a book to start with Git. For that, I'd recommend "Git for Humans" and "Jumpstart Git".

However, after having used Git a little while, this book is a great source to understand behind-the-scene details of Git. While such details may not be helpful in day-to-day use of Git, being aware of such details can 1) help appreciate the design of Git and 2) provide a peek into the kind of situations one can get into with Git. That second reason is most useful as makes one wonder if it is worthwhile getting into such situations and possibly influence the workflow to avoid such situations :)

I liked the presentation style in the book -- the concepts are explained followed by a step-by-step example illustrating the concepts and its nuances followed by discussion about aspects such dos/donts and choices.

Highly recommended for deep understanding of Git
Profile Image for Tiago Massoni.
111 reviews3 followers
July 27, 2017
Ao criar e implementar a primeira versão do Git, Linus Torvalds tinha apenas um alvo: eliminar obstáculos que ferramentas de versionamento estavam colocando no caminho da turma que contribuía com o Kernel do Linux. A ideia que ele aplicou, uma string, chamada de SHA1, de 160 bits (40 caracteres hexadecimais), identificando unicamente qualquer objeto armazenado, acabou resolvendo um problema enorme de escalabilidade. A ideia é tão poderosa que ninguém mais quer saber dos (agora) antigos CVS e SVN. Isso é impacto. Saber um pouco de Git acabou se sendo obrigatório para quem participa de uma equipe de software, profissionalmente ou por hobby...mesmo que não entenda muito bem os mecanismos complexos de branching e merging (este livro tem todos esses detalhes, anyway).
533 reviews10 followers
November 15, 2020
Obwohl das Buch bereits vor 10 Jahren erschienen ist, enthält es auch heute noch viel relevantes zu Git. Die Reihenfolge und die Priorisierung der einzelnen Themen geht an der Benutzung von Git komplett vorbei. Während die internen technischen Details zum Speichern der Dateien in Kapitel 5 behandelt werden, folgen Commits erst im Kapitel 6 und remote Repositories gar erst im Kapitel 11.
210 reviews
November 16, 2019
Bardzo dobry opis Git-a, wraz z przykładami i opisami. Nie wiedziałem, że jeżeli się zagłębić, to może być tak skomplikowany
Mimo, że książka ma już swój wiek. I git jest w wersji 2.x. Niestety nie było go za czasów tej książki.
Profile Image for John.
84 reviews4 followers
October 23, 2020
A thorough guide to learning the deeper truths of Git.

First you learn Git on your own, poking around online. That's enough. Then you can read this book and become the local guru. The last stage is learning the source code and working on the Git dev team. Choose your own path.
18 reviews
May 31, 2018
Typical O-Reilly book. More information than you'll ever need, well organized, very readable.

I haven't actually read it, just the parts of it I needed. Just like I'll do for years to come.
Profile Image for A. Jesse.
31 reviews25 followers
March 28, 2011
git is the most powerful and conceptually elegant source code management system I've used. (Perhaps Mercurial rivals it? I haven't used Mercurial.) But it seems to be in a state of arrested development. Many commands commonly used in ordinary development are basically unimplemented, and have to be performed with a set of lower-level commands. For example, publishing a local branch so remote developers can use it, and then setting up the branch so the remote copy continues to get updates, is a hard-to-memorize set of 3 commands, whereas it's a no-brainer in Subversion.

My theory is that Linus Torvalds built the initial git as a set of low-level commands for managing versioned data in general, and intended higher-level, more convenient SCMSes to be built on top of it. Since Linus had scratched his own itch, he left the higher-level implementation to others, but no one rose to the challenge. Now it's too late -- git is the default SCMS for open-source projects, and so we're stuck using low-level commands, or writing custom scripts for common tasks.

It's as if we had reverted to programming in C. The newfound power is liberating, but it comes at a price. Whereas I have learned all previous SCMSes casually (CSV, SVN, Perforce), learning git is like learning C. You won't just pick it up. I've used it professionally for 2 years and I'm still floundering. To really use it well, you have to understand it deeply. You probably have to read a book.

Version Control with Git is an excellent remedy to this challenge. It introduces the reader to git's object model (objects, trees, commits, refs, tags), and shows how git's everyday commands use its "plumbing" commands to manipulate these basic materials. The book walks through detailed examples, including some nearly-pathologically complex merges, and describes distributed development thoroughly.

If I have a nit to pick, it's that the book's discussion of distributed development is obsolete. In 2009, it may have been appropriate to spend a long chapter discussing how to email patches, and how to apply patches from an email. But these days, it seems that GitHub has nearly obviated this process. In my experience, open-source developers, who need to review each other's changes before applying them, use GitHub "pull requests" instead of git's commands for managing patches over email. I hope a new edition will drastically cut the section on patches and add a discussion of GitHub's collaborative features.

If you're not ready to read a whole book, "Git from the bottom up" by John Wiegley provides some of the core concepts:

571 reviews13 followers
December 24, 2015
Очень нравится общая идея - подробно описана внутренняя логика Git, как именно он манипулирует объектами. Не на уровне реализации, а на уровне логики.
И все, что описывает автор, дается с полными листингами того, что он делает, и объяснениями, с использованием схем объектов внутри Git.

Но как же это все занудно изложено..
Наверно, это не вина автора, сам по себе этот формат выгоднее был бы для какого-то интерактивного курса, когда тебе подсказывают, какие команды сделать, показывают вывод.

Книга совершенно не пригодна в роли справочника - все описания пространные, на много страниц.

И моя основная претензия - нет внятного изложения повседневных рецептов, что и для каких ситуаций более пригодно. Все это отчасти размазано по книге, а отчасти просто отсутствует.
Потому что первая часть книги ну очень примитивная, а потом как-то резко растет сложность и надуманность приводимых примеров, даются рецепты, мало кому нужные в реальной жизни.

Книга была бы идеальной, если бы в ней был какой-то сжатый итоговый раздел - что вот это лучше делать так, а тут лучше эдак.

Понятно, что цель автора "научить ловить рыбу", чтобы читатель сам чувствовал, что и где использовать. Но это приходит не сразу, а с практикой.

Так что попозже, возможно, поищу еще какую-нибудь книгу по Git.
Хотя и эта очень основательно повысила мою уверенность в работе и понимание, что именно п��оисходит.
Profile Image for Rod Hilton.
150 reviews3,126 followers
October 21, 2009
Version Control with Git is a fantastic book if you want to understand how Git is really working. This is important, because I don't know if anyone could ever really use Git without know how it's really working.

The book starts at the simplest possible place and shows examples of using Git, which become handy references for what you want to do with the system. But at each step of the way, it also explains what Git is doing under the hood, with diagrams, examples, and lengthy explanations. Sometimes there are even experiments that help you understand even better what's going on.

The book is dense, filled with a great deal of information, and some may find it dry. But for the most part, I really enjoyed it, and walked away from the book with a far greater understanding of how to use Git. I recommend it for anyone who is switching to Git.
Profile Image for Kyle.
17 reviews
August 28, 2021
This book starts off with the concepts needed to use the product, delves into deeper - more technical - topics and finishes with a look at GitHub. I found that it was a good resource for learning what I could do with Git without spending too much time on one topic. The authors plainly discuss the tool's limitations and how developers are working around them. My favourite parts were on the concept of the working directory and repository, and branching.

My one criticism is that I felt that there could have been more explanation at times about how to apply these more advanced concepts and that the authors could have shown what the next step for some of these features would be. With that said, I learned a lot about how this tool works, how to use it in a variety of situations, and what it's capable of.

As a disclaimer, I received this book as part of O'Reilly's Blogger Review Program.
404 reviews66 followers
August 22, 2012
This book on the Git source repository system is probably one of the driest tech books I've ever read. It's filled with overly complex explanations of an already overly complex piece of software, which made it hard to tell the difference. Here's an example of the treats in store for you if you read it:

"Directly fetching and merging a branch with a complex history will yield a different history in the receiving repository than the history that results from a patching sequence. Remember, one of the effects of creating a patch sequence on a complex branch is to topologically sort the graph into a linearized history. Hence, applying it to another repository yields a linearized history that wasn't in the original."
Profile Image for Katherine.
149 reviews
October 19, 2013
I wish this was a typographical error but it isn't: "Git manages change."
It doesn't do that. No language or framework does that.
"A monkey who uses Git can manage change" is more appropriate.

But there's good news! This is an excellent book anyone who cares about version control can read without regret.

I still encourage some people to read the less lengthier introductions as this is far from that.

Examples are OK but the hardly gave scenarios relevant for software development teams.
Profile Image for Kevin.
23 reviews1 follower
February 12, 2013
I use this book as a reference, though I read the first version all the way through.

Disappointed that this version hasn't added any content on signing tags and why that should be done.

The expanded section on github is nice, but more info on other tools using git would be nice.

As a reference book it is great. The descriptions are detailed and efficient without sacrificing clarity. Git is a complex tool but this book is useful in understanding it.
Profile Image for Ed Burns.
Author 24 books4 followers
September 18, 2015
I read this on my Kindle thanks to my employer's Safari Books Online subscription (thanks Oracle). I was looking for a definitive tome on the topic and this fit the bill. My only quibble is the absence of some content early in the book reassuring the reader that eventually this will all make sense in the context of that little bit of Git knowledge you had just to get access to something on GitHub.
Profile Image for Chris.
66 reviews1 follower
April 13, 2011
I've been using git for about a year and still picked up some ideas from this book - for example, I had a pretty woeful understanding of how the index worked and this covered it well. What I like about it compared to many other references is that it dives into the core abstractions right away rather than focusing on the surface details of command syntax. I've recommended it to my team at work.
Profile Image for Chris Wood.
42 reviews4 followers
August 9, 2013
This is one of the gems in the O'Reilly series. The authors do more than show you how to use the git commands; they explain how git is constructed. This means that you will not only get an understanding how to use git, you will also learn how git is set apart from other vcs offerings. I highly recommend this for folks who are trying to understand why everyone is excited about git.
278 reviews
October 18, 2015
A very good guide for someone who's been using git and wants a deep understanding of the architecture and range of features, which matches me well! It's organized logically from a conceptual standpoint, which makes it lousy if one wants to minimize the pages read before being able to do something useful. With a little git experience, though, this becomes an excellent read-once-and-refer.
Profile Image for Pieter.
11 reviews8 followers
February 6, 2011
Good technical description of the inner workings of git, a must if you really want to master git's advantages. The level of quality between chapters is quite varying, some of them really don't tell you much more than the man-page, albeit with good examples.
Profile Image for Jacobo.
18 reviews14 followers
November 4, 2011
Este libro intenta explicar cómo funciona git por dentro en vez de simplemente enseñar a usarlo. Aunque empieza desde conceptos muy básicos, no es un libro para principiantes. Está muy bien, pero no me ha entusiasmado de todas formas, no me importaría no haberlo leído.
Profile Image for Shaun.
47 reviews4 followers
May 18, 2012
Great book to introduce and get in depth with git. Takes from from beginner to intermediate/advanced and lets' you start to consume other more dense git topics. Once you finish it give the 2-4 chapter a re-read since you'll be able to get those concepts better after you get the gestalt.
2 reviews
October 3, 2015
Very good book for learning Git.

It includes clear examples on using Git's different features.

It considers almost any scenario you may run into, and the actions you can take to get the results you expect.
Profile Image for Lynn.
23 reviews
June 6, 2011
I thought this book was very good, but I found it bounced from being too detailed and in the guts behind how Git works to being too simplistic in it's examples of how to use Git in practical terms.
Profile Image for Steven.
52 reviews1 follower
June 11, 2012
It taught me what I needed to know, and the coverage was more than thorough. A bit worshipful, and took a bit too much delight in abstract and meta examples and clarity suffered for that.
Displaying 1 - 30 of 47 reviews

Can't find what you're looking for?

Get help and learn more about the design.