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: Malaran Faenos
Country: Kazakhstan
Language: English (Spanish)
Genre: Automotive
Published (Last): 16 January 2007
Pages: 150
PDF File Size: 7.5 Mb
ePub File Size: 6.44 Mb
ISBN: 861-1-87715-387-6
Downloads: 12725
Price: Free* [*Free Regsitration Required]
Uploader: Kesida

This makes using Git a joy because we know we can experiment without the danger of severely screwing things up. This makes Git more like a mini filesystem with some incredibly boo tools built on top of it, rather than simply a VCS. Git Has Integrity Everything in Git is checksummed before it is stored and is then referred to by that checksum. Modified means that you have changed the file but have not committed it to your database yet.

So, what is Git in a nutshell? Git and Other Systems 9.

Git – Git Basics

These files are pulled out of the compressed database in the Git directory and placed on disk for you to use or modify. This functionality is built into Git at the lowest levels and is integral to its philosophy. This leads us to the three main sections of a Git project: A SHA-1 hash looks something like this:.

The staging area is a file, generally contained in your Git directory, that stores information about what will go into your next commit. It is hard to get the system to do anything girpro is not undoable or to make it erase data in any way.

The Git directory is where Git stores the metadata and object database for your project.


Git thinks about its data more like a stream of snapshots. Git on the Server 4. And if it was changed since it was checked out but has not been staged, it is modified. This is an important section to absorb, because if you understand what Git is and the fundamentals of how it works, then using Git effectively will gook be much easier for you.

In many other systems, doing so is either impossible or gltpro. Instead, Git thinks of its data more like a series of snapshots of a miniature filesystem. This means you see the project history almost instantly. The working tree is a single checkout of one version of the project. If it has been modified and was added to the staging area, it is staged. Git in Other Environments A1. If you want to see the changes introduced between the current version of a file and the file a month ago, Git can look up the file a month ago and do a local difference calculation, instead of having to either ask igtpro remote server to do vitpro or pull an older version of the file from the remote server to do it locally.

The mechanism that Git uses for this checksumming is called a SHA-1 hash. If you get on an airplane or a train and want to do a little work, you can commit happily to your local copy, remember? Because you have the entire history of the project right there boo, your local disk, most operations seem almost instantaneous.

In fact, Git stores everything in its database not by file name but by the hash value of its contents. You do a gitprro, which takes the files as they are in the staging area and stores that snapshot permanently to your Git directory. A SHA-1 hash looks something like this: When you do actions in Git, nearly all of gigpro only add data to the Git database.

Pro Git, Second Edition

Everything in Git is checksummed before it is stored and is then referred to by that checksum. It makes Git reconsider almost every aspect of version control that most other systems copied from the previous generation.


You will see these hash values all over the place in Git because it uses them so much. Committed means that the data is safely stored in your local database. You modify files in your working tree.

1.3 Getting Started – Git Basics

The major difference between Git and any other VCS Subversion and friends included is the way Git thinks about its data. Staged means that you have marked a modified file in its current version to go into your next commit snapshot. Conceptually, most other systems store information as a fitpro of file-based changes. This is the gitpfo important part of Git, and it is what is copied when you clone a repository from another computer. This is an important distinction between Gihpro and nearly all other VCSs.

Consider becoming a supporter! Git is a member of Software Freedom Conservancy, which handles legal and financial needs for the project. Git has three main states that your files can reside in: 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.

This may not seem like a huge deal, but you may be surprised what a big difference it can make. With Git, every time you commit, or save the state of your project, Git basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot.