Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Mastering Git
  • Table Of Contents Toc
  • Feedback & Rating feedback
Mastering Git

Mastering Git

By : Narębski
close
close
Mastering Git

Mastering Git

By: Narębski

Overview of this book

Developers often feel overwhelmed by complex version control issues, especially when managing large repositories. This updated second edition of our Git guide empowers you to tackle these challenges head-on and emerge as a Git pro. The book gets you up to speed with the latest Git version, its features, and advanced branching techniques, helping you master complex development scenarios. A new chapter on tackling challenges while managing large repositories has been added, providing invaluable strategies for efficient version control with Git. The book goes beyond the basics to take you through Git’s architecture, behavior, and best practices in depth. The chapters help you develop a clear understanding of customizing workflows, creating unique solutions, and tackling any version control hurdle. As you advance, you’ll explore a wide range of functionalities, from examining project history to collaborating seamlessly with teammates. Detailed descriptions guide you through managing your work, collaborating with others, administering Git, and navigating project history. By the end of this book, you’ll have become a Git pro and be confident enough to handle advanced branching, manage large repositories, customize workflows, collaborate effectively, and troubleshoot any version control issues.
Table of Contents (21 chapters)
close
close
Free Chapter
1
Part 1 - Exploring Project History and Managing Your Own Work
7
Part 2 - Working with Other Developers
13
Part 3 - Managing, Configuring, and Extending Git

DAGs

What makes VCSs different from backup applications is the ability to represent more than linear history. This is necessary both to support the simultaneous parallel development by different developers (each developer in their own clone of the repository) and to allow independent parallel lines of development – branches. For example, with a VCS, you might want to keep the ongoing development and the work on bug fixes for the stable version isolated. You can do this by using individual branches for those separate lines of development. So, the VCS needs to be able to model such a non-linear way of development and needs to have some structure to represent it.

The structure that Git uses (on the abstract level) to represent the possibly non-linear history of a project is called a Directed Acyclic Graph (DAG).

The following diagram (Figure 4.1) shows an example of a DAG, drawn in two different ways. The same graph is represented on both sides of the figure: using the free...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY