Practice your Git skills using exercises in your own environment. This book introduces concepts in an abstract visual way, and then enforces this learning through exercises - the Git katas.
You will start with basic interactions such as commits and branches, and move on to both internals and collaborative workflows. Best practices are introduced and rehearsed throughout with hands-on exercises. Each topic is supplemented with interactive Git exercises that can be solved using any Git client – either the ubiquituous CLI or one of the many graphical clients so you'll learn in the environment you work in.
The importance of Git is hard to overstate – it is used by 90% of software engineers worldwide and is the de facto standard for version control. Honing your Git skills is guaranteed to make you a better and more efficient developer. Building software can be stressful, but it doesn’t need to be. Practical Git will give you the Git skills you need, and help keep your Git skills sharp. Add it to your library today.
What You'll Learn
- Use Git through scripted exercises and the Git katas
- Understand Git’s graph model
- Troubleshoot common and rare scenarios you may face
- Select and apply the right Git tool for the task
- Maintain and collaborate on Git repositories
- Tweak Git to gain the most from this powerful tool
Who This Book Is For
Anyone who is currently using Git in a copy-paste fashion. It will take you from using Git to knowing Git.
Author(s): Johan Abildskov
Publisher: Apress
Year: 2020
Language: English
Pages: 181
City: New York
Table of Contents
About the Author
About the Technical Reviewer
Foreword
Acknowledgments
Introduction
Chapter 1: Git Intuition
Version Control
Basic Git Concepts
The Repository
The Commit
The Branch and the Tag
The Tag
The Branch
Setting Up Git and the Git Katas
Git Clone
The .git Folder
Getting Our Bearings in a Repository
Git Status
Git Log
Summary
Chapter 2: Building Commits
What’s in a Workspace
Preparing Commits Using the Stage
Committing
Git Commit
Good, Bad, and UGLY Commit Messages
The Subject or Header
Recovering from Oops Moments with amend
Getting Clean Commits with .gitignore
Advanced .gitignore
Globbing git ignore
Git Katas
Summary
Chapter 3: Linear History
Branching Foundations
Keeping Track of Your HEAD
Committing on Your Branches
Checking Out a Previous Version
Seeing the Diff Between Different Versions
Git Katas
Summary
Chapter 4: Complex Branching
Creating Branches
Working with Multiple Branches
Merge
Fast-Forward Merges
Three-Way Merges
Merge Conflicts
Rebase
Tags
Detached HEAD
Git Katas
Summary
Chapter 5: Collaboration in Git
Working with Remotes
Cloning
Synchronizing with Remote
Simplified Workflow
Fork-Based Workflows
Pull Request–Based Workflows
Git Flow
Git Katas
Summary
Chapter 6: Manipulating History
Reverting Commits
Reset
Soft Reset
Mixed Reset
Hard Reset
Interactive Rebase
Git Katas
Summary
Chapter 7: Customizing Git
Configuring Git
Aliases
Attributes
Diff and Merge Tools
Hooks
Katas
Summary
Chapter 8: Additional Git Features
Git Bisect
Git Submodules
Git Large File Storage
Implementation
Tracking Files with Git LFS
Git Sizer
Converting a Repository to Git LFS
Git Katas
Summary
Chapter 9: Git Internals
The Git Graph
Commits
Trees
Blobs
References
Versioning with Trees
Katas
Summary
Index