Book description
Learn everything you need to take full control of your workflow with Git with this curated Learning Path ? dive in and transform the way you work
About This Book
- Master all the basic concepts of Git to protect your code and make it easier to evolve
- Filled with practical recipes that will teach you how to use the most advanced features of the Git system
- Harness the full power of the Git version control system to customize Git behavior, manipulate history, integrate external tools, and explore platform shortcuts
Who This Book Is For
This learning path is for software developers who want to become proficient at using the Git version control system. A basic understanding of any version control system would be beneficial.
What You Will Learn
- Transport your work to a remote repository in a centralized manner
- Experiment with your code without affecting functional code files
- Explore some tools used to migrate to Git from other versioning systems without losing your development history
- Understand the Git data model and how you can navigate the database with simple commands
- Debug with Git and use various techniques to find faulty commits
- Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis
- Master administering and setting up Git repositories, configuring access, finding and recovering from repository errors, and performing repository maintenance
- Chose a workflow and configure/set up support for the chosen workflow
In Detail
Git is one of the most popular types of Distributed Version Control System. Since its inception, it has attracted skilled developers due to its robust, powerful, and reliable features. Like most powerful tools, Git can be hard to approach for the newcomers. However, this learning path will help you overcome this fear and become adept at all the basic and advanced tasks in Git.
This course starts with an introduction to version control systems before you delve deeply into the essentials of Git. This serves as a primer for the topics to follow such as branching and merging, creating and managing a GitHub personal repository, and fork and pull requests. You'll also learn how to migrate from SVN using Git tools or TortoiseGit and migrate from other VCSs, concluding with a collection of resources, links, and appendices.
As you progress on to the next module, you will learn how you can automate the usual Git processes by utilizing the hook system built into Git. It also covers advanced repository management, including different options to rewrite the history of a Git repository before you discover how you can work offline with Git, how to track what is going on behind the scenes, and how to use the stash for different purposes.
Moving forward, you will gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. It gives a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own.
This Learning Path is a blend of content, all packaged up keeping your journey in mind. It includes content from the following Packt products:
- Git Essentials, Ferdinando Santacroce
- Git Version Control Cookbook, Aske Olsson and Rasmus Voss
- Mastering Git, Jakub Narebski
Style and approach
Its step-by-step approach with useful information makes this course the ultimate guide to understanding and mastering Git. This course will show the road to mastery example by example, while also explaining the mental model of Git.
Table of contents
-
Git: Mastering Version Control
- Table of Contents
- Git: Mastering Version Control
- Git: Mastering Version Control
- Credits
- Preface
-
I. Module 1
- 1. Getting Started with Git
- 2. Git Fundamentals – Working Locally
- 3. Git Fundamentals – Working Remotely
- 4. Git Fundamentals – Niche Concepts, Configurations, and Commands
-
5. Obtaining the Most – Good Commits and Workflows
- The art of committing
- Adopting a workflow – a wise act
- Summary
- 6. Migrating to Git
- 7. Git Resources
-
II. Module 2
- 1. Navigating Git
- 2. Configuration
- 3. Branching, Merging, and Options
- 4. Rebase Regularly and Interactively, and Other Use Cases
- 5. Storing Additional Information in Your Repository
- 6. Extracting Data from the Repository
-
7. Enhancing Your Daily Work with Git Hooks, Aliases, and Scripts
- Introduction
- Using a branch description in the commit message
- Creating a dynamic commit message template
- Using external information in the commit message
- Preventing the push of specific commits
- Configuring and using Git aliases
- Configuring and using Git scripts
- Setting up and using a commit template
-
8. Recovering from Mistakes
- Introduction
- Undo – remove a commit completely
- Undo – remove a commit and retain the changes to files
- Undo – remove a commit and retain the changes in the staging area
- Undo – working with a dirty area
- Redo – recreate the latest commit with new changes
- Revert – undo the changes introduced by a commit
- Reverting a merge
- Viewing past Git actions with git reflog
- Finding lost changes with git fsck
-
9. Repository Maintenance
- Introduction
- Pruning remote branches
- Running garbage collection manually
- Turning off automatic garbage collection
- Splitting a repository
- Rewriting history – changing a single file
- Back up your repositories as mirror repositories
- A quick submodule how-to
- Subtree merging
- Submodule versus subtree merging
- 10. Patching and Offline Sharing
-
11. Git Plumbing and Attributes
- Introduction
- Displaying the repository information
- Displaying the tree information
- Displaying the file information
- Writing a blob object to the database
- Writing a tree object to the database
- Writing a commit object to the database
- Keyword expansion with attribute filters
- Metadata diff of binary files
- Storing binaries elsewhere
- Checking the attributes of a file
- Attributes to export an archive
- 12. Tips and Tricks
-
III. Module 3
-
1. Git Basics in Practice
- An introduction to version control and Git
-
Git by example
- Repository setup
- Creating a Git repository
- Cloning the repository and creating the first commit
- Publishing changes
- Examining history and viewing changes
- Renaming and moving files
- Updating your repository (with merge)
- Creating a tag
- Resolving a merge conflict
- Adding files in bulk and removing files
- Undoing changes to a file
- Creating a new branch
- Merging a branch (no conflicts)
- Undoing an unpublished merge
- Summary
- 2. Exploring Project History
- 3. Developing with Git
-
4. Managing Your Worktree
- Ignoring files
- File attributes
- Fixing mistakes with the reset command
- Stashing away your changes
- Managing worktrees and the staging area
- Multiple working directories
- Summary
- 5. Collaborative Development with Git
-
6. Advanced Branching Techniques
- Types and purposes of branches
- Branching workflows and release engineering
- Interacting with branches in remote repositories
- Summary
- 7. Merging Changes Together
-
8. Keeping History Clean
- An introduction to Git internals
- Rewriting history
- Amending history without rewriting
- Summary
-
9. Managing Subprojects – Building a Living Framework
- Managing library and framework dependencies
- Managing large Git repositories
- Summary
- 10. Customizing and Extending Git
- 11. Git Administration
- 12. Git Best Practices
-
1. Git Basics in Practice
- A. Bibliography
- Index
Product information
- Title: Git: Mastering Version Control
- Author(s):
- Release date: October 2016
- Publisher(s): Packt Publishing
- ISBN: 9781787123205
You might also like
book
Git Version Control Cookbook
A series of practical recipes to simplify the Git learning experience and increase your productivity when …
book
Git Essentials - Second Edition
Dive and explore into the latest addons of the latest Git. About This Book Master all …
book
Git Recipes: A Problem-Solution Approach
Whether you're relatively new to git or you need a refresher, or if you just need …
book
Version Control with Git, 2nd Edition
Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a …