Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Bjørn Stachmann, René Preißel
Git: Distributed Version Control—Fundamentals and Workflows
Introduction
Why Git?
A Book for Professional Developers
About This Book
Why Workflows?
Tips for the Reader
Examples and Notations
Acknowledgments
Standing on the Shoulders of Giants
Chapter 1: Basic Concepts
Distributed Version Control, How Different?
The Repository, the Basis of Distributed Work
Branching and Merging, Easy!
Summary
Chapter 2: Getting Started
Setting up Git
Your First Git Project
Collaboration with Git
Summary
Chapter 3: What Is A Commit?
Access Permissions and Timestamps
The add and commit Commands
Revisiting the Commit Hash
The Commit History
A Slightly Different Way of Looking at Commits
Many Different Histories of the Same Project
Summary
Chapter 4: Multiple Commits
The status Command
The Staging Area Stores Snapshots
What To Do with Changes That Are Not To Be Committed?
Leaving out Unversioned Files with .gitignore
Stashing
Summary
Chapter 5: The Repository
A Simple and Efficient Storage System
Storing Directories: Blob & Tree
Identical Data Is Stored Only Once
Compressing Similar Content
Is It Bad When Various Files Happen to Get the Same Hash?
Commits
Object Reuse in the Commit History
Renaming, Moving and Copying
Summary
Chapter 6: Branches
Parallel Development
Bug Fixes in An Older Version
Branches
Swim Lanes
The Active Branch
Resetting A Branch Pointer
Deleting A Branch
Getting Rid of the Commit Objects
Summary
Chapter 7: Merging Branches
What Happens during A Merge?
Conflicts
Edit Conflicts
Conflict Markers
Resolving Edit Conflicts
What about the Content Conflict?
Fast-Forward Merges
First-Parent History
Tricky Merge Conflicts
Regardless, Somehow It Will Work
Summary
Chapter 8: A Cleaner History with Rebasing
The Principle: Copying of Commits
Avoiding the “Diamond Chain”
And When It Comes to Conflicts?
Transplanting A Branch
What Happens to the Original Commits after Rebasing?
Why Is It Problematic to Have the Original and Copy Commits in the Same Repository?
Cherry-Picking
Summary
Chapter 9: Exchanges between Repositories
Cloning A Repository
How to Tell Git Where the Other Repository Is
Giving the Other Repository A Name
Fetching Data
Remote-Tracking Branches: Monitoring Other Repositories
Working with Local Branches from Other Repositories
Pull = Fetch + Merge
For Diamond Haters: --rebase
Push, the Opposite of Pull
Naming Branches
Summary
Chapter 10: Version Tagging
Creating A Tag
Which Tags Are There?
Printing the Tag Hashes
Adding Tags to the Log Output
In What Version Is It in?
How to Change A Tag?
When Do I Need A Floating Tag?
Summary
Chapter 11: Dependencies between Repositories
Dependencies with Submodules
Dependencies with Subtrees
Summary
Chapter 12: Tips and Tricks
Don’t Panic, There Is A Reflog!
Ignoring Local Changes Temporarily
Examining Changes to Text Files
alias - Shortcuts for Git Commands
Branches as Temporary Pointers to Commits
Moving Commits to Another Branch
Chapter 13: Introduction to Workflows
When Can I Use These Workflows?
Structure of the Workflows
Chapter 14: Project Setup
Overview
Requirements
Compact Workflow: Setting Up A Project
Process and Implementation
Why Not the Alternatives?
Chapter 15: Developing on the Same Branch
Overview
Requirements
Workflow: Developing on the Same Branch
Process and Implementation
Why Not the Alternatives?
Chapter 16: Developing with Feature Branches
Overview
Requirements
Workflow “Developing with Feature Branches”
Process and Implementation
Why not the Alternatives?
Chapter 17: Troubleshooting with Bisection
Overview
Requirements
Workflow “Troubleshooting with bisection”
Process and Implementation
Why Not the Alternatives?
Chapter 18: Working with A Build Server
Overview
Requirements
Workflow “Working with A Build Server”
Process and Implementation
Why Not the Alternatives?
Chapter 19: Performing A Release
Overview
Requirements
Workflow “Performing A Release”
Process and Implementation
Why Not the Alternatives?
Chapter 20: Splitting A Large Project
Overview
Requirements
Workflow “Splitting A Large Project”
Process and Implementation
Why Not the Alternatives?
Chapter 21: Merging Small Projects
Overview
Requirement
Workflow “Merging Small Projects”
Process and Implementation
Why Not the Alternatives?
Chapter 22: Outsourcing Long Histories
Overview
Requirements
Workflow “Outsourcing Long Histories”
Process and Implementation
Why Not the Alternatives?
Chapter 23: Using Other Version Controls in Parallel
Overview
Requirements
Workflow “Working with Other Version Controls in Parallel”
Process and Implementation
Why Not the Alternatives?
Chapter 24: Migrating to Git
Overview
Requirements
Workflow “Migrating to Git”
Process and Implementation
Why Not the Alternatives?
Chapter 25: What Else Is There?
Interactive Rebasing—Making the History Better
Dealing with Patches
Sending Patches by Email
Bundles—pull in Offline Mode
Creating An Archive
Graphical Tools for Git
Working with Subversion
Command Aliases
Notes on Commits
Extending Git with Hooks
Chapter 26: Git’s Shortcomings
High Complexity
Complicated Submodules
Resource Consumption for Large Binary Files
Repositories Can Only Be Dealt with in Its Entirety
Authorization Only on the Entire Repository
Moderate Graphical Tools for History Analysis
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
title
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset