Collaborating with Git

Video description

If you’ve previously tried to learn Git but found the structure of the materials to be opaque, too academic, or just plain confusing, this hands-on video course will help you complete the task. Author and educator Emma Jane Hogbin Westby takes an unconventional approach to teaching version control with Git. Rather than start with the commands you’ll be running, she first explains why—and then demonstrates how.

Along the way, you’ll learn several Git hacks to help you be more efficient. And that means navigating Git from the command line. Many people prefer the “convenience” of a GUI, but in the long run, learning commands is quicker and easier than clicking various buttons on a succession of screens.

  • Create a visual map of Git by sketching your own diagrams
  • Use an example project to get started with hosted Git repositories
  • Learn how to upload changes and merge work with branches
  • Work with tags to pinpoint specific commits in the history of your work
  • Find and fix bugs by comparing “working” and “non-working” states
  • Learn how to undo your work with rollbacks and resets
  • Clean up your commit history with rebase
  • Move your sample project from GitLab to GitHub
  • Learn how to collaborate on GitHub and BitBucket

Emma Jane Hogbin Westby has been working as a web developer since 1996 and has been participating in FOSS communities for over a decade. Having written two Drupal books, including Front End Drupal (Prentice Hall), she has been teaching web-based technologies online and in person for over a decade.

Publisher resources

View/Submit Errata

Table of contents

  1. Welcome and Set Up/Warm-up Exercise
  2. Getting Started with Hosted Git Repositories
    1. Getting Started with Hosted Git Repositories
    2. Creating a GitLab Account
    3. Adding Your SSH Keys
    4. Forking Your First Project
    5. Privatizing Your Repository
    6. Overview of Permission Strategies
  3. Downloading a Remote Repository
    1. Downloading a Remote Repository
    2. Cloning your GitLab Repository
    3. Reviewing History with Git Log
  4. Configuring Git
    1. Configuring Git
    2. Identifying Yourself
    3. Changing the Commit Message Editor
    4. Adding Color
  5. Getting Started as a Team of One
    1. Getting Started as a Team of One
    2. Initializing an Empty Project
    3. Converting an Existing Project to Git
  6. Connecting to Remote Repositories
    1. Connecting to Remote Repositories
    2. Copying a Repository
    3. Cloning a Local Repository
    4. Converting a Set of Files to a Repository
    5. Adding Another Remote Connection
  7. Working with Branches
    1. Working with Branches
    2. Listing All Branches
    3. Using a Different Branch
    4. Establishing Your Branching Strategy
    5. Creating a Topic Branch
    6. Uploading Your Changes with Git Push
    7. Accepting and Merging New Work
    8. Dealing with Merge Conflicts
  8. Working with Tags
    1. Working with Tags
    2. Listing, Adding, and Deleting Tags
    3. Checking Out Tags
    4. Recovering from a Detached HEAD State
    5. Sharing Tags
  9. Finding and Fixing Bugs
    1. Finding and Fixing Bugs
    2. Finding Relative History with Git Log
    3. Finding the Last Working State with Bisect
    4. Finding the Author History of a File with Blame
    5. Using Stash to Work on an Emergency Bug Fix
  10. Rollbacks, Resets, and Undoing Your Work
    1. Rollbacks, Resets, and Undoing Your Work
    2. Using Branches for Experimental Work
    3. Amending a Commit
    4. Removing Changes to the Working Directory
    5. Removing Commits with Reset
    6. Promoting a Previous Commit with Revert
  11. Rewiring History with Rebase
    1. Rewiring History with Rebase
    2. Bringing Your Work Up-to-Date with Rebase
    3. Using Rebase to Combine Serveral Commits
    4. Using Rebase to Truncate a Branch Before Merging
    5. Combining Your Changes Into Another Branch with Rebase
    6. Changing Previous Commits with Interactive Rebase
  12. Collaborating on GitHub
    1. Collaborating on GitHub
    2. Creating an Account - GitHub
    3. Importing a Repository - BitBucket
    4. Forking a Repository
    5. Making Changes to Your Fork
    6. Making Quicker Changes with the Web UI
    7. Tracking Your Changes with Issues
    8. Accepting a Pull Request
    9. Importing a Repository - GitHub
    10. Extending GitHub with Hub
  13. Collaborating on BitBucket
    1. Collaborating on BitBucket
    2. Creating an Account - BitBucket
    3. Making Changes to Your Repository
    4. Tracking Your Changes with Issues
    5. Accepting a Pull Request

Product information

  • Title: Collaborating with Git
  • Author(s):
  • Release date: November 2014
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491912003