So, what is Git in a nutshell? This is an important section to absorb, because if you understand what Git is and the fundamentals of how it works, then using Git. The second edition of this book is meant to address those example of Git hosting, I have decided to turn that part of the book into more. Access this book for free. ISBN ; This book is an open access book, you can download it for free on Softcover 44,95 €.

Author: Vudokasa Bragrel
Country: Zimbabwe
Language: English (Spanish)
Genre: History
Published (Last): 28 March 2011
Pages: 384
PDF File Size: 8.68 Mb
ePub File Size: 17.47 Mb
ISBN: 835-5-73246-400-2
Downloads: 28664
Price: Free* [*Free Regsitration Required]
Uploader: Tosar

These other systems CVS, Subversion, Perforce, Bazaar, and so on think of the information they store as a set of files and the changes made to each file over time this is commonly described as delta-based version control.

Git Has Integrity Everything in Git is checksummed before it is stored and is then referred to by that checksum.

Git is a member of Software Freedom Conservancy, which handles legal and financial needs for the project. If you want to see the changes introduced between the current version of a file and the file a month ago, Git fitpro look up the file a month ago and do a local difference calculation, instead of having to either ask a remote server to do it or pull an older version of the file from the remote server to do it locally.

This functionality is built giitpro Git at the lowest levels and is integral to its philosophy.


This may not seem like a huge deal, but you may be surprised what a big difference it can make. It is hard to get the system to do anything that is not undoable or to make it erase data in any way. Conservancy gitro currently raising funds to continue their mission.

Pro Git, Second Edition

A SHA-1 hash looks something like this:. These files are pulled out of the compressed database in the Git directory and placed on disk for you to use or modify. A SHA-1 hash looks something like this: This is a character string composed of hexadecimal characters 0—9 and a—f and calculated based on the gitprp of a file or directory structure in Git. You will see these hash values all over the place in Git because it uses them so much. The working tree is a single checkout of one version of the project.

Hitpro in Other Environments A1. With Git, every time you commit, or save the state of your project, Git gitrpo takes a picture of what all your files look like at that moment and stores a reference to that snapshot. In fact, Git stores everything in its database not by file name but by the hash value of its contents.

Conceptually, most other systems store information as a list of file-based changes.

1.3 Getting Started – Git Basics

Git has three main states that your files can reside in: Committed means that the data is safely stored in gitpgo local database. It makes Git reconsider almost every aspect of version control that most other systems copied from the previous generation.


Consider becoming a supporter! You selectively stage just those changes you want to be part of your next commit, which adds only those changes to the staging area.

So, what is Git in a nutshell?

Modified means that you have changed the file but have not committed it to your database yet. The major difference between Git and any other VCS Subversion and friends included is the way Git thinks about its data. The staging boo is a file, generally contained in your Git directory, that stores information about what will go into your next commit.

Git – Git Basics

This is an important distinction between Git and nearly all other VCSs. This is the most important part of Git, and it is what is copied when you clone a repository from another computer. Git on the Server 4. Embedding Git in your Applications A2. This leads us to the three main sections of a Git project: Git thinks about its data more like a stream of snapshots.

This makes Git more like a mini filesystem with some incredibly powerful tools built on top of it, rather than simply a VCS. In many other systems, doing so is either impossible or painful.