Module 1: Introduction
- What is version control?
- Why Command Line?
- Why Git?
- Key Git Terminology
Module 2: Git Installation
- Installation Overview
- Installing Git for Windows
- Installing Git on Mac OS X
Module 3: Git Quick Start
- Starting with GitHub and Project Setup
- Configuration, Clone, and Git Basic Workflow
Module 4: Text Editor Installation
- Text Editor Installation Overview
- Windows Text Editor: Notepad++ Installation
- Configure Notepad++ with Git (Windows Only)
- Mac Text Editor: TextMate 2 Installation
- Configure Text Mate 2 with Git (Mac Only)
Module 5: Basic Git Commands
- Basic Commands Overview
- Starting with a Fresh Project (git init)
- Adding Git to an Existing Project (git init)
- Starting on GitHub by Joining an Existing Project (git clone)
- Basic Git Workflow (add, commit, pull & push)
- Tracked Files
- Editing Files
- Recursive Add
- Backing Out Change
- Renaming and Moving File
- Deleting Files
- History
- Git Alias
- Ignoring Unwanted Files and Folders
- Cleanup and Back to Origin (GitHub)
Module 6: Visual Merge/Diff Tool Installation
- Visual Merge / Diff Tool Installation Overview
- P4Merge Install on Windows
- P4Merge Configure on Windows
- P4Merge for Windows Git Configuration
- P4Merge for Mac Installation
- P4Merge for Mac Git Configuration
Module 7: Comparisons
- Git Repository Setup (for comparing examples)
- Comparing Working Directory and the Staging Area
- Comparing Working Directory and Git Repository (Last Commit)
- Comparing between the Staging Area and the Git Repository (Last Commit)
- Limiting Comparisons to one File (or path)
- Comparing Between Commits
- Comparing Between Local and Remote Master Branches
- Comparison Section Cleanup and Push back to GitHub
Module 8: Branching and Merging
- Branching Basics
- Happy Path / Fast Forward Merges
- Happy Path / Disable Fast Forward Merges
- Automatic Merges
- Conflicting Merges and Resolution
- Section Cleanup and Push back to GitHub
Module 9: Welcome to GitHub
- Welcome to GitHub Overview
- Signup for GitHub
- GitHub Profile
- GitHub Settings
- Creating a GitHub Repository
- Linking to our GitHub Repository
- Pushing Changes to GitHub
- Verifying our Changes on GitHub
Module 10: SSH Authentication
- Authentication Overview
- SSH vs HTTPS
- Generating an SSH Key
- Verify SSH Authentication with GitHub
Module 11: GitHub Repository
- 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
- Synchronizing our Changes with our Local Repository
- Commit Details: Going Deeper
Module 12: 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
- Dealing with a Conflict while Pulling
Module 13: Bitbucket
- What is a Remote Repository?
- Creating a Remote Repository
- The Bitbucket Interface
- Cloning: HTTPS vs. SSH
- Cloning Hello Bitbucket
- Creating and Committing Files
- Pushing Changes
- Pulling Changes
- Setting up an SSH Key
- SSH and Bitbucket