Professional Git.
Laster, Brent.
Professional Git. - 1st ed. - 1 online resource (483 pages)
Cover -- Title Page -- Copyright -- About the Author -- About the Technical Editor -- About the Technical Proofreader -- Credits -- Acknowledgments -- Contents -- Introduction -- How This Book is Unique -- Target Audience -- Structure and Content -- Reader Value -- Next Steps -- Part I Understanding Git Concepts -- Chapter 1: What is Git? -- History of Git -- Industry-Standard Tooling -- The Git Ecosystem -- Core Git -- Git-Hosting Sites -- Self-Hosting Packages -- Ease-of-Use Packages -- Plug-ins -- Tools That Incorporate Git -- Git Libraries -- Git's Advantages and Challenges -- The Advantages -- The Challenges -- Summary -- Chapter 2: Key Concepts -- Design Concepts: User-Facing -- Centralized Model -- Distributed Model -- Design Concepts: Internal -- Delta Storage -- Snapshot Storage -- Git's Storage Requirements -- Repository Design Considerations -- Repository Scope -- File Scope -- Summary -- Chapter 3: The Git Promotion Model -- The Levels of Git -- Dev-Test-Prod and Git -- The Core Git Commands for Moving Content -- Summary -- About Connected Lab 1: Installing Git -- Connected Lab 1 Installing Git -- Installing Git for Windows -- Steps -- Installing Git on Mac OS X -- Installing Git on Linux -- Part II Using Git -- Chapter 4: Configuration and Setup -- Executing Commands in Git -- Operand Types -- Porcelain versus Plumbing Commands -- Specifying Arguments -- Auto-complete -- Configuring Git -- Telling Git Who You Are -- Configuration Scope -- Default Editor -- End of Line Settings -- Aliases -- Windows Filesystem Cache -- Initializing a Repository -- Git Init -- Git Clone -- Advanced Topics -- Git Init Demystified -- Looking Further into a Git Repository -- Mapping Config Commands to Configuration Files -- Creating Parameterized Aliases -- Summary -- Chapter 5: Getting Productive -- Getting Help -- The Multiple Repositories Model. Adding Content to Track-Add -- Staging Scope -- Finalizing Changes-Commit -- Prerequisites -- Commit Scope -- Putting It All Together -- Amending Commits -- Results of a Commit -- Advanced Topics -- Using the Verbose Option -- The Full Commit Message Experience -- Autocorrect and Auto Execute -- Summary -- About Connected Lab 2: Creating and Exploring a Git Repository and Managing Content -- Connected Lab 2 Creating and Exploring a Git Repository and Managing Content -- Prerequisites -- Optional Advanced Deep-Dive into the Repository Structure -- Steps -- Chapter 6: Tracking Changes -- Git Status -- Workflow Example with Status -- Status Command Short Form -- Git Diff -- Important Symbolic Names in Git -- How to Think about Git's Approach to Diffing -- Diff Names Only -- Word-diff -- Ignoring Non-critical Changes -- Diffing Two Commits -- Visual Diffing -- Other Diff Tricks -- Summary -- About Connected Lab 3: Tracking Content through the File Status Life Cycle -- Connected Lab 3 Tracking Content Through the File Status Life Cycle -- Prerequisites -- Steps -- Chapter 7: Working with Changes over Time and Using Tags -- The Log Command -- Common Display and Filtering Options -- Time-Limiting Options -- History by Files and Paths -- Log Output Format -- Searching History -- Git Blame -- Seeing History Visually -- Tags -- Seeing Tag Details -- Modifying Tags -- Quick Tagging Example -- Undoing Changes in History -- Reset-Rolling Back Changes -- Completely Resetting the Local Environment -- Revert-Canceling Out Changes -- Advanced Topics -- Signing Commits and Tags -- Reflogs -- Summary -- About Connected Lab 4: Using Git History, Tags, and Aliases -- Connected Lab 4 Using Git History, Aliases, and Tags -- Prerequisites -- Steps -- Chapter 8: Working with Local Branches -- What Is a Branch? -- Example from Another Source Management System. The Git Model of Branches -- Creating a Branch -- Checking Out a Branch -- Adding Content to a Branch -- One Working Directory-Many Branches -- Getting Information about Branches -- Deleting or Renaming a Branch -- Developing with Branches -- Advanced Topics -- Checking Out Non-branch Commits -- Checking Out Individual Files -- Summary -- About Connected Lab 5: Working with Branches -- Connected Lab 5 Working With Branches -- Prerequisites -- Steps -- Chapter 9: Merging Content -- The Basics of Merging -- The Merge Command -- Preparing for a Merge -- Types of Merges -- Rebasing-Merging with History -- Cherry-Picking -- Differences between Cherry-Pick and Rebase -- Merge Operations -- Dealing with Conflicts -- Merging Is a State -- Error Messages for Conflicts -- Aborting the Operation -- Dealing with Conflicts-the Workflow -- Resolution Options and Strategies -- Visual Merging -- Selecting a Merging Tool -- Making Merge Tools Available to Git -- Advanced Topics -- Alternative Style for Conflict Markers -- Advanced Rebasing Scenario -- Interactive Rebasing -- Summary -- About Connected Lab 6: Practicing with Merging -- Connected Lab 6 Practicing with Merging -- Prerequisites -- Steps -- Chapter 10: Supporting Files in Git -- The Git Attributes File -- What Can You Do with This File? -- The Scope of Git Attributes -- The File Format -- Common Use Cases -- Getting Attribute Information for Files -- The Git Ignore File -- The Scope of Git Ignore -- The File Format -- Getting Ignore Information for Files -- Summary -- Chapter 11: Doing More with Git -- Modifying the Layout of Files and Directories in Your Local Environment -- stash -- Staging Commands -- mv -- rm -- Commands for Searching -- grep -- Git Log Searches -- Working with Patches and Archives for Changes -- archive -- bundle -- Sharing Patches through E-mail -- apply -- am -- Mailing Patch Files. Commands for Cleaning Up -- clean -- gc -- notes -- Advanced Topics -- filter-branch -- rev-list -- bisect -- rerere -- Summary -- About Connected Lab 7: Deleting, Renaming, and Stashing -- Connected Lab 7 Deleting, Renaming, and Stashing -- Prerequisites -- Steps -- Chapter 12: Understanding Remotes-Branches and Operations -- Remotes -- Remote Access Protocols -- The Remote Command -- How Git Interacts with the Remote Environment -- Remote Tracking Branches -- Git Clone -- Viewing Information about Remote Branches -- Push -- Fetch -- Pull -- Summary -- About Connected Lab 8: Setting Up a GitHub Account and Cloning a Repository -- Connected Lab 8 Setting up a Github Account and Cloning a Repository -- Prerequisites -- Steps -- Chapter 13: Understanding Remotes-Workflows for Changes -- The Basic Conflict and Merge Resolution Workflow in Git -- How the Remote Side Handles Conflicts -- Hosted Repositories -- Models for Collaboration with Git -- Putting It All Together -- Summary -- About Connected Lab 9: Using the Overall Workflow with a Remote Repository -- Connected Lab 9 Using The Overall Workflow with a Remote Repository -- Prerequisites -- Steps -- Chapter 14: Working with Trees and Modules in Git -- Worktrees -- Adding a Worktree -- Listing Out the Working Trees -- Pruning a Worktree -- Submodules -- Understanding How Submodules Work -- Adding a Submodule -- Determining Submodule Status -- Processing Multiple Submodules -- Updating Submodules from Their Remotes -- Viewing Submodule Differences -- Superproject versus Submodules -- The Problem with Submodules -- Updating the Submodule References -- Updating Submodules When the Superproject Is Updated -- Pushing Changes from Submodules -- Submodules and Merging -- Unregistering a Submodule -- Subtrees -- Adding a Project as a Subtree -- Updating a Subtree -- Using the Subtree Split Functionality. Creating a New Project from the Split Content -- Subtree Push -- Summary -- About Connected Labs 10-12 -- About Connected Lab 10: Working with Worktrees -- About Connected Lab 11: Working with Submodules -- About Connected Lab 12: Working with Subtrees -- Connected Lab 10 Working with Worktrees -- Prerequisites -- Steps -- Connected Lab 11 Working with Submodules -- Prerequisites -- Steps -- Connected Lab 12 Working with Subtrees -- Prerequisites -- Steps -- Chapter 15: Extending Git Functionality with Git Hooks -- Installing Hooks -- Updating Hooks -- Common Hook Attributes -- Hook Domain -- Return Code to Control Workflow -- Working Directory Access -- Environment Variables -- Hook Descriptions -- Applypatch-msg -- Pre-applypatch -- Post-applypatch -- Pre-commit -- Prepare-commit-msg -- Commit-message -- Post-commit -- Pre-rebase -- Post-checkout -- Post-merge -- Pre-push -- Pre-receive -- Update -- Post-receive -- Post-update -- Other Hooks -- Push-to-checkout -- Pre-auto-gc -- Post-rewrite -- Hooks Quick Reference -- Summary -- Index -- EULA.
9781119284987
Computer software--Development.
Electronic books.
QA76.76.D47.L37 2017
005.1
Professional Git. - 1st ed. - 1 online resource (483 pages)
Cover -- Title Page -- Copyright -- About the Author -- About the Technical Editor -- About the Technical Proofreader -- Credits -- Acknowledgments -- Contents -- Introduction -- How This Book is Unique -- Target Audience -- Structure and Content -- Reader Value -- Next Steps -- Part I Understanding Git Concepts -- Chapter 1: What is Git? -- History of Git -- Industry-Standard Tooling -- The Git Ecosystem -- Core Git -- Git-Hosting Sites -- Self-Hosting Packages -- Ease-of-Use Packages -- Plug-ins -- Tools That Incorporate Git -- Git Libraries -- Git's Advantages and Challenges -- The Advantages -- The Challenges -- Summary -- Chapter 2: Key Concepts -- Design Concepts: User-Facing -- Centralized Model -- Distributed Model -- Design Concepts: Internal -- Delta Storage -- Snapshot Storage -- Git's Storage Requirements -- Repository Design Considerations -- Repository Scope -- File Scope -- Summary -- Chapter 3: The Git Promotion Model -- The Levels of Git -- Dev-Test-Prod and Git -- The Core Git Commands for Moving Content -- Summary -- About Connected Lab 1: Installing Git -- Connected Lab 1 Installing Git -- Installing Git for Windows -- Steps -- Installing Git on Mac OS X -- Installing Git on Linux -- Part II Using Git -- Chapter 4: Configuration and Setup -- Executing Commands in Git -- Operand Types -- Porcelain versus Plumbing Commands -- Specifying Arguments -- Auto-complete -- Configuring Git -- Telling Git Who You Are -- Configuration Scope -- Default Editor -- End of Line Settings -- Aliases -- Windows Filesystem Cache -- Initializing a Repository -- Git Init -- Git Clone -- Advanced Topics -- Git Init Demystified -- Looking Further into a Git Repository -- Mapping Config Commands to Configuration Files -- Creating Parameterized Aliases -- Summary -- Chapter 5: Getting Productive -- Getting Help -- The Multiple Repositories Model. Adding Content to Track-Add -- Staging Scope -- Finalizing Changes-Commit -- Prerequisites -- Commit Scope -- Putting It All Together -- Amending Commits -- Results of a Commit -- Advanced Topics -- Using the Verbose Option -- The Full Commit Message Experience -- Autocorrect and Auto Execute -- Summary -- About Connected Lab 2: Creating and Exploring a Git Repository and Managing Content -- Connected Lab 2 Creating and Exploring a Git Repository and Managing Content -- Prerequisites -- Optional Advanced Deep-Dive into the Repository Structure -- Steps -- Chapter 6: Tracking Changes -- Git Status -- Workflow Example with Status -- Status Command Short Form -- Git Diff -- Important Symbolic Names in Git -- How to Think about Git's Approach to Diffing -- Diff Names Only -- Word-diff -- Ignoring Non-critical Changes -- Diffing Two Commits -- Visual Diffing -- Other Diff Tricks -- Summary -- About Connected Lab 3: Tracking Content through the File Status Life Cycle -- Connected Lab 3 Tracking Content Through the File Status Life Cycle -- Prerequisites -- Steps -- Chapter 7: Working with Changes over Time and Using Tags -- The Log Command -- Common Display and Filtering Options -- Time-Limiting Options -- History by Files and Paths -- Log Output Format -- Searching History -- Git Blame -- Seeing History Visually -- Tags -- Seeing Tag Details -- Modifying Tags -- Quick Tagging Example -- Undoing Changes in History -- Reset-Rolling Back Changes -- Completely Resetting the Local Environment -- Revert-Canceling Out Changes -- Advanced Topics -- Signing Commits and Tags -- Reflogs -- Summary -- About Connected Lab 4: Using Git History, Tags, and Aliases -- Connected Lab 4 Using Git History, Aliases, and Tags -- Prerequisites -- Steps -- Chapter 8: Working with Local Branches -- What Is a Branch? -- Example from Another Source Management System. The Git Model of Branches -- Creating a Branch -- Checking Out a Branch -- Adding Content to a Branch -- One Working Directory-Many Branches -- Getting Information about Branches -- Deleting or Renaming a Branch -- Developing with Branches -- Advanced Topics -- Checking Out Non-branch Commits -- Checking Out Individual Files -- Summary -- About Connected Lab 5: Working with Branches -- Connected Lab 5 Working With Branches -- Prerequisites -- Steps -- Chapter 9: Merging Content -- The Basics of Merging -- The Merge Command -- Preparing for a Merge -- Types of Merges -- Rebasing-Merging with History -- Cherry-Picking -- Differences between Cherry-Pick and Rebase -- Merge Operations -- Dealing with Conflicts -- Merging Is a State -- Error Messages for Conflicts -- Aborting the Operation -- Dealing with Conflicts-the Workflow -- Resolution Options and Strategies -- Visual Merging -- Selecting a Merging Tool -- Making Merge Tools Available to Git -- Advanced Topics -- Alternative Style for Conflict Markers -- Advanced Rebasing Scenario -- Interactive Rebasing -- Summary -- About Connected Lab 6: Practicing with Merging -- Connected Lab 6 Practicing with Merging -- Prerequisites -- Steps -- Chapter 10: Supporting Files in Git -- The Git Attributes File -- What Can You Do with This File? -- The Scope of Git Attributes -- The File Format -- Common Use Cases -- Getting Attribute Information for Files -- The Git Ignore File -- The Scope of Git Ignore -- The File Format -- Getting Ignore Information for Files -- Summary -- Chapter 11: Doing More with Git -- Modifying the Layout of Files and Directories in Your Local Environment -- stash -- Staging Commands -- mv -- rm -- Commands for Searching -- grep -- Git Log Searches -- Working with Patches and Archives for Changes -- archive -- bundle -- Sharing Patches through E-mail -- apply -- am -- Mailing Patch Files. Commands for Cleaning Up -- clean -- gc -- notes -- Advanced Topics -- filter-branch -- rev-list -- bisect -- rerere -- Summary -- About Connected Lab 7: Deleting, Renaming, and Stashing -- Connected Lab 7 Deleting, Renaming, and Stashing -- Prerequisites -- Steps -- Chapter 12: Understanding Remotes-Branches and Operations -- Remotes -- Remote Access Protocols -- The Remote Command -- How Git Interacts with the Remote Environment -- Remote Tracking Branches -- Git Clone -- Viewing Information about Remote Branches -- Push -- Fetch -- Pull -- Summary -- About Connected Lab 8: Setting Up a GitHub Account and Cloning a Repository -- Connected Lab 8 Setting up a Github Account and Cloning a Repository -- Prerequisites -- Steps -- Chapter 13: Understanding Remotes-Workflows for Changes -- The Basic Conflict and Merge Resolution Workflow in Git -- How the Remote Side Handles Conflicts -- Hosted Repositories -- Models for Collaboration with Git -- Putting It All Together -- Summary -- About Connected Lab 9: Using the Overall Workflow with a Remote Repository -- Connected Lab 9 Using The Overall Workflow with a Remote Repository -- Prerequisites -- Steps -- Chapter 14: Working with Trees and Modules in Git -- Worktrees -- Adding a Worktree -- Listing Out the Working Trees -- Pruning a Worktree -- Submodules -- Understanding How Submodules Work -- Adding a Submodule -- Determining Submodule Status -- Processing Multiple Submodules -- Updating Submodules from Their Remotes -- Viewing Submodule Differences -- Superproject versus Submodules -- The Problem with Submodules -- Updating the Submodule References -- Updating Submodules When the Superproject Is Updated -- Pushing Changes from Submodules -- Submodules and Merging -- Unregistering a Submodule -- Subtrees -- Adding a Project as a Subtree -- Updating a Subtree -- Using the Subtree Split Functionality. Creating a New Project from the Split Content -- Subtree Push -- Summary -- About Connected Labs 10-12 -- About Connected Lab 10: Working with Worktrees -- About Connected Lab 11: Working with Submodules -- About Connected Lab 12: Working with Subtrees -- Connected Lab 10 Working with Worktrees -- Prerequisites -- Steps -- Connected Lab 11 Working with Submodules -- Prerequisites -- Steps -- Connected Lab 12 Working with Subtrees -- Prerequisites -- Steps -- Chapter 15: Extending Git Functionality with Git Hooks -- Installing Hooks -- Updating Hooks -- Common Hook Attributes -- Hook Domain -- Return Code to Control Workflow -- Working Directory Access -- Environment Variables -- Hook Descriptions -- Applypatch-msg -- Pre-applypatch -- Post-applypatch -- Pre-commit -- Prepare-commit-msg -- Commit-message -- Post-commit -- Pre-rebase -- Post-checkout -- Post-merge -- Pre-push -- Pre-receive -- Update -- Post-receive -- Post-update -- Other Hooks -- Push-to-checkout -- Pre-auto-gc -- Post-rewrite -- Hooks Quick Reference -- Summary -- Index -- EULA.
9781119284987
Computer software--Development.
Electronic books.
QA76.76.D47.L37 2017
005.1