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 push


On executing the push command, Git will perform the following:

  1. Identify current branch.

  2. Look up the existence of a default remote in the config file (if none is found, it prompts you to provide the remote name or URL as a parameter while executing git push).

  3. Get to know the remote's URL and the heads (branches) tracked.

  4. Check whether the remote has changed since the last time you fetched changes from it.

    • Get the list of references from the remote repositories (using git ls-remote).

    • Check the existence of the entries from the list with the local history. If the reference from the remote is a part of the local repository's history, it's evident that there are no other changes since the last time you fetched/pulled from the remote. So Git will allow you to directly push your changes to the remote. If it's not a part of your local repository's history, Git understands that the remote repository has undergone some changes since the last time you fetched/pulled from it. So it will ask you...