My Account Log in

3 options

Professional git / Brent Laster.

Ebook Central Academic Complete Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Laster, Brent, author.
Series:
THEi Wiley ebooks.
THEi Wiley ebooks
Language:
English
Subjects (All):
Computer software--Development.
Computer software.
Git (Computer file).
Physical Description:
1 online resource (483 pages) : color illustrations
Edition:
1st edition
Place of Publication:
Indianapolis, IN : John Wiley and Sons, [2017]
System Details:
Access using campus network via VPN at home (THEi Users Only).
text file
Summary:
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—extensive discussion of corollaries to traditional systems as well as considerations unique to Git help you draw upon existing skills while looking out—and planning for—the differences. Connected labs and exercises are interspersed at key points to reinforce important concepts and deepen your understanding, and a focus on the practical goes beyond technical tutorials to help you integrate the Git model into your real-world workflow. Git greatly simplifies the software development cycle, enabling users to create, use, and switch between versions as easily as you switch between files. This book shows you how to harness that power and flexibility to streamline your development cycle. Understand the basic Git model and overall workflow Learn the Git versions of common source management concepts and commands Track changes, work with branches, and take advantage of Git's full functionality Avoid trip-ups and missteps common to new users Git works with the most popular software development tools and is used by almost all of the major technology companies. More than 40 percent of software developers use it as their primary source control tool, and that number continues to grow; the ability to work effectively with Git is rapidly approaching must-have status, and Professional Git is the comprehensive guide you need to get up to speed quickly.
Contents:
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
Chapter 3: The Git Promotion Model
The Levels of Git
Dev-Test-Prod and Git
The Core Git Commands for Moving Content
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
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
Using the Verbose Option
The Full Commit Message Experience
Autocorrect and Auto Execute
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
Optional Advanced Deep-Dive into the Repository Structure
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
About Connected Lab 3: Tracking Content through the File Status Life Cycle
Connected Lab 3 Tracking Content Through the File Status Life Cycle
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
Signing Commits and Tags
Reflogs
About Connected Lab 4: Using Git History, Tags, and Aliases
Connected Lab 4 Using Git History, Aliases, and Tags
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
Checking Out Non-branch Commits
Checking Out Individual Files
About Connected Lab 5: Working with Branches
Connected Lab 5 Working With Branches
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
Alternative Style for Conflict Markers
Advanced Rebasing Scenario
Interactive Rebasing
About Connected Lab 6: Practicing with Merging
Connected Lab 6 Practicing with Merging
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
Getting Ignore Information for Files
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
filter-branch
rev-list
bisect
rerere
About Connected Lab 7: Deleting, Renaming, and Stashing
Connected Lab 7 Deleting, Renaming, and Stashing
Chapter 12: Understanding Remotes-Branches and Operations
Remotes
Remote Access Protocols
The Remote Command
How Git Interacts with the Remote Environment
Remote Tracking Branches
Viewing Information about Remote Branches
Push
Fetch
Pull
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
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
About Connected Lab 9: Using the Overall Workflow with a Remote Repository
Connected Lab 9 Using The Overall Workflow with a Remote Repository
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
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
Connected Lab 11 Working with Submodules
Connected Lab 12 Working with Subtrees
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
Index
EULA.
Notes:
Includes index.
Description based on print version record.
ISBN:
9781119285021
111928502X
OCLC:
965778418

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account