Detailed Content for
the Program
Introduction: Git Basics | Git Repository | Retrieving a Repository's Status | Add Files to a Repository | Committing Changes to a Repository
Cloning a Remote Repository | Accidental Deletion | Recover Your Repository
Creating a Branch | Detached Heads | What about Tags?
Merging Step by Step | Handling Merge Conflicts
Introduction: Git Add Interactive | The Add Interactive Command
Introduction: Reflog | Lose a Commit, Get it Back | Exploring the reflog
Introduction: Cherry-Picking | A Simple Cherry-Pick | When Cherry-Picking Might Fail
Introduction: Git Rebase | Outline of a Simple Rebase
Introduction: Git Bisect | Bisecting: The Session at a High Level | A Real 'git bisect' Session | The Difference Between ∼ and ^
Fetching and Pulling Content
Introduction: Fetching and Pulling Content | Two Git Repos: 'git_origin' and 'git_cloned' | The 'git fetch' Command
Working With Multiple Repositories
Introduction: Working With Multiple Repositories | Three-Linked Repositories
Creating and Pushing Branches | Pushing to Repositories With Different Content | The Branch Exists Only On The Remote | Tracking Remote Branches With Different Names
What Are Pull Requests? | Forking And Branching in GitHub
Introduction: Git Log | A Realistic Log History | The 'git log' Command
Introduction: Squashing Commits | A Worked Example | The 'git rebase -i' Command
Introduction: Bare Repositories | Setting up a Bare Repository | Squashes the Commits | Git Pull and Merge Hell
Cherry-Picking and Three-Way Merges
Introduction: Cherry-Picking and Three-Way Merges | Attempting to Apply Cherry-Pick | Generate and Apply Patch
Introduction: Git Hooks | A ‘pre-commit’ Hook | A More Sophisticated Example
Advanced: Beyond the Basics
Comparing Differences | Branching and Merge Types | Special Markers | Simple Branching Example | Conflict Resolution | Marking Special Events with Tagging | Saving Work in Progress with Stashing | Time Travel with Reset and Reflog | Using Aliases | Using Aliases to simplify our commands | Amending Commits: Changing the commit message | Amending Commits: Adding a file to a previous commit | Working with the git commit -amend command | Performing a git squash and merge at GitHub to condense our commit tree | Set your system to always prune during fetch | Performing a soft reset | Hard reset and clean on current commit | Hard reset on previous commit - merge into master | Learning about git reset and git clean | Reverting a commit | Reverting the state of the repo with a public revert commit
GitHub Profile | GitHub Settings | Creating a GitHub Repository | Linking to our GitHub Repository | Pushing Changes to GitHub | Verifying our Changes on GitHub
Authentication Overview | SSH vs HTTPS | Generating an SSH Key | Verify SSH Authentication with GitHub
GitHub Repository Overview | Starting Remote with a Starter Repository | Create a Local Copy with Clone | Seeding the Repository with Sample Content | Publish Back to GitHub | Fetch and Pull | Repository Features and Settings | Updating Repository and Remote References | Looking at Files and Folders on GitHub | Directly Editing Files on GitHub | Creating a New Files on GitHub | Creating a New File on Master | Renaming and Deleting Files on GitHub | Synchronizing our Changes with our Local Repository | Reviewing Commits with the Commit List | Commit Details: Going Deeper | GitHub Time Travel: Reviewing Your Repository as of a Particular Commit | Using Commit IDs
GitHub Repository Branches
Repository Branches Overview | Creating Branches on GitHub | Local Branches | Comparing and Pull Requests | Merging Locally | Locally Switch to a Branch on GitHub | Cleaning Up By Deleting Branches and References | Pull with Rebase | GitHub Graphs | Setting the Default Branch | Dealing
Tags and Releases Overview | Local Tags (a bit of Review) | Pushing Local Tags to GitHub | Tags on GitHub | Deleting Tags on GitHub | Updating Tags: Creating a Floating Tag | Starting a Release on GitHub | Deleting a Release | Creating a Completely New Release
Comparing Differences Overview | Comparing with Pull Requests | Comparing Commits | Comparing Tags
Social Coding Overview | Copying A GitHub Repository by Forking | Creating A Branch on Your Fork | Pull Requests | Updating Pull Requests | Accepting the Pull Request | GitHub Graphs | Synchronize Changes Back to Your Fork | Enlisting Help with Collaborators
GitHub Issues Overview | An Introduction to GitHub Issues | Setting Up Issue Labels | Setting Up Milestones | Creating Issues | Closing Issues | Associating Issues with Commits | Using Mentions with Issues
GitHub Gists Overview | Creating Gists | Working with Gists Locally | Sharing Gists | Deleting Gists