Book Image

Git: Version Control for Everyone

By : Ravishankar Somasundaram
Book Image

Git: Version Control for Everyone

By: Ravishankar Somasundaram

Overview of this book

<div> <div>Git – is free software which enables you to maintain different versions of single or multiple files present inside a directory(folder), and allows you to switch back and forth between them at any given point of time. It also allows multiple people to work on the same file collaboratively or in parallel, without being connected to a server or any other centralized system continuously.<br /><br />This book is a step by step, practical guide, helping you learn the routine of version controlling all your content, every day. <br /><br />If you are an average computer user who wants to be able to maintain multiple versions of files and folders, or to go back and forth in time with respect to the files content – look no further. The workflow explained in this book will benefit anyone, no matter what kind of text or documentation they work on.<br /><br />This book will also benefit developers, administrators, analysts, architects and anyone else who wishes to perform simultaneous, collaborative work, or work in parallel on the same set of files. Git's advanced features are there to make your life easier.<br /><br /><br /><br /><br /><br /></div> </div>
Table of Contents (16 chapters)
Git: Version Control for Everyone Beginner's Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Git status


When the status command is executed, Git checks for the file's path and size. If there are no differences, it leaves it as it is, but if any differences are found, it goes ahead and computes the hash with which it checks for a relation to other hashes, as we saw earlier.

The file path comparison as such happens in the following stages:

Stage number

Comparison

Related status message

1

File path present in index versus recent commit (HEAD commit)

Changes to be committed

2

File path present in index versus working tree

Changes not staged for commit

3

Paths in the working tree that are not tracked by Git (and are not ignored by gitignore or the exclude file)

Changes not staged for commit

The first status denotes changes that have already been added (staged) but not committed. So executing git commit would complete the versioning process.

The second and third statuses denote that the changes are not yet added (staged) for a commit. So to complete the versioning process,...