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 merge


While executing the merge command, Git will perform the following steps:

  1. Identify both the merge candidates from the heads directory based on specified parameters.

  2. Find the common ancestor of both heads and load all their objects in memory.

  3. Perform a diff (difference) between the common ancestor and head one.

  4. Apply the diff with head two.

  5. If there are changes in common areas across heads, indicate the conflict with markers and inform the user about it (expecting the user to solve the conflict, add the changes, and make a commit).

  6. If there are no conflicts, merge those contents, and make a merge commit mentioning metadata stating this.