O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

Table of Contents

  1. Welcome and Set Up/Warm-up Exercise 00:05:58
  2. Getting Started with Hosted Git Repositories
    1. Getting Started with Hosted Git Repositories 00:00:51
    2. Creating a GitLab Account 00:01:44
    3. Adding Your SSH Keys 00:04:15
    4. Forking Your First Project 00:02:00
    5. Privatizing Your Repository 00:01:38
    6. Overview of Permission Strategies 00:08:19
  3. Downloading a Remote Repository
    1. Downloading a Remote Repository 00:05:35
    2. Cloning your GitLab Repository 00:04:02
    3. Reviewing History with Git Log 00:07:22
  4. Configuring Git
    1. Configuring Git 00:02:38
    2. Identifying Yourself 00:04:48
    3. Changing the Commit Message Editor 00:02:41
    4. Adding Color 00:04:48
  5. Getting Started as a Team of One
    1. Getting Started as a Team of One 00:00:34
    2. Initializing an Empty Project 00:02:38
    3. Converting an Existing Project to Git 00:07:23
  6. Connecting to Remote Repositories
    1. Connecting to Remote Repositories 00:01:25
    2. Copying a Repository 00:06:38
    3. Cloning a Local Repository 00:04:22
    4. Converting a Set of Files to a Repository 00:10:07
    5. Adding Another Remote Connection 00:06:05
  7. Working with Branches
    1. Working with Branches 00:03:32
    2. Listing All Branches 00:05:33
    3. Using a Different Branch 00:06:49
    4. Establishing Your Branching Strategy 00:12:12
    5. Creating a Topic Branch 00:14:36
    6. Uploading Your Changes with Git Push 00:09:36
    7. Accepting and Merging New Work 00:06:41
    8. Dealing with Merge Conflicts 00:15:23
  8. Working with Tags
    1. Working with Tags 00:00:54
    2. Listing, Adding, and Deleting Tags 00:06:43
    3. Checking Out Tags 00:06:32
    4. Recovering from a Detached HEAD State 00:08:56
    5. Sharing Tags 00:03:20
  9. Finding and Fixing Bugs
    1. Finding and Fixing Bugs 00:00:52
    2. Finding Relative History with Git Log 00:08:02
    3. Finding the Last Working State with Bisect 00:07:40
    4. Finding the Author History of a File with Blame 00:03:42
    5. Using Stash to Work on an Emergency Bug Fix 00:06:37
  10. Rollbacks, Resets, and Undoing Your Work
    1. Rollbacks, Resets, and Undoing Your Work 00:01:17
    2. Using Branches for Experimental Work 00:08:30
    3. Amending a Commit 00:06:06
    4. Removing Changes to the Working Directory 00:06:18
    5. Removing Commits with Reset 00:08:49
    6. Promoting a Previous Commit with Revert 00:05:33
  11. Rewiring History with Rebase
    1. Rewiring History with Rebase 00:01:43
    2. Bringing Your Work Up-to-Date with Rebase 00:10:43
    3. Using Rebase to Combine Serveral Commits 00:07:04
    4. Using Rebase to Truncate a Branch Before Merging 00:09:37
    5. Combining Your Changes Into Another Branch with Rebase 00:10:22
    6. Changing Previous Commits with Interactive Rebase 00:05:35
  12. Collaborating on GitHub
    1. Collaborating on GitHub 00:00:48
    2. Creating an Account - GitHub 00:04:33
    3. Importing a Repository - BitBucket 00:04:44
    4. Forking a Repository 00:01:47
    5. Making Changes to Your Fork 00:05:09
    6. Making Quicker Changes with the Web UI 00:03:39
    7. Tracking Your Changes with Issues 00:05:01
    8. Accepting a Pull Request 00:04:33
    9. Importing a Repository - GitHub 00:04:15
    10. Extending GitHub with Hub 00:02:44
  13. Collaborating on BitBucket
    1. Collaborating on BitBucket 00:00:39
    2. Creating an Account - BitBucket 00:02:54
    3. Making Changes to Your Repository 00:05:26
    4. Tracking Your Changes with Issues 00:06:27
    5. Accepting a Pull Request 00:06:21