Professional git

Leverage the power of Git to smooth out the development cycle Professional Git takes a professional approach to learning this massively popular software development tool, and provides an up-to-date guide for new users. More than just a development manual, this book helps you get into the Git mindset...

Descripción completa

Detalles Bibliográficos
Otros Autores: Laster, Brent, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Indianapolis, IN : John Wiley and Sons [2017]
Edición:1st edition
Colección:THEi Wiley ebooks.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631264306719
Tabla de Contenidos:
  • 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.