This Bitbucket with Git training course begins with a review of the benefits of version control in software development. We then introduce Bitbucket utilizing Git, with emphasis on DevOps, as well as, the paradigm shift required to use hosted distributed version control effectively.
This training course has 7 hands-on Git labs that are outlined at the bottom of this page. The labs cover basic Git operations as well as workflow. The labs allow you to practice the following skills:
Lab1 - Starting Out With Git
1. Install Git on windows
2. Create a git repository
3. Perform basic git functions on the repository
Lab 2 - Branching, Merging and Working with Remotes
1. Clone an existing repository
2. Create a branch
3. Merge a branch onto another branch.
Lab 3 - Experimenting with Workflows
1. Utilize workflow with git
2. Use "pull-request" git pattern of development.
Lab 4 - Using Workflow
1. Explore a GitFlow style workflow to create features, releases, hotfixes, and various other types of branches.
Lab 5 - Rebasing and Rewriting History
1. Use 'git rebase' to move work from one branch to another.
2. Utilize Squash to rebase commits.
Lab 6 - Git Submodules
1. Explore Submodules, and how they provide a way to nest repositories to manage project dependencies.
Lab 7 - (Optional) GitFlow Workflow With the GitFlow Extensions
1. Explore GitFlow feature, release, and hotfix.
Web Age Git Classes are recommended as instructor-led classroom style format. Online Git Training is also available in a virtual instructor led format.
Audience
- Anyone needing to work in a DevOps or technology-enabled organization with source code, configuration, scripting, pipeline, or other file resources
Prerequisites
- Basic application development, software engineering, quality assurance, technology project management, data management, InfoSec, or operations experience
Duration
1 day
Outline for Introduction to Bitbucket with Git DVCS Training
Chapter 1. Introduction to Version Control Systems
- What are Version Control Systems (VCS)
- "Undo" Capability
- Collaboration
- Communication and Sharing
- Auditing, Tracking, Requirements Traceability
- Release Engineering, Maintenance, SDLC
- Diagnostics
- History of Version Control Systems (VCS)
- Distributed Version Control Systems (DVCS)
- Summary
Chapter 2. Introduction to Bitbucket
- What is Bitbucket
- Bitbucket Features
- Dashboard
- Forking
- Command line guidance
- Pull requests
- Summary
Chapter 2. Introduction to Git
- What is Git
- Git's Design Goals
- Branching and Merging
- Distributed vs. Centralized
- Git Basics
- Getting Git
- Git on the Server
- Git Repository Managers
- Hosted Git
- Summary
Chapter 3. Basic Git Operations
- Using Git
- Definitions
- Commit
- How to Think About Commits
- Viewing History
- Configuring Git
- Configuration Scope
- User Identification
- GPG and Git
- .gitignore
- Summary
Chapter 4. Branching, Merging and Remotes
- Branching
- Branches in Git
- Merge
- Fast Forward Merge
- --no-ff
- More Than One Repository
- Working with Remotes
- Fetch and Pull
- Push
- Git Pull Requests
- Tagging a Commit
- Lightweight Tags
- Annotated Tags
- Sharing Tags
- Checking Out a Tag
- Summary
Chapter 5. Git Work Flows
- Work Flows
- Forking
- Feature Branch
- Centralized Workflow
- Integration Manager
- GitFlow
- Summary
Chapter 6. Introduction to GitFlow
- What is GitFlow
- Benefits
- How GitFlow works?
- GitFlow Extension
- Initializing GitFlow
- Features
- Release
- Hotfixes
- Summary
Chapter 7. Rewriting History
- Rewriting History
- Squashing Commits
- Rebase vs Merge
- Amending Commits
- Reset
- Summary
Chapter 8. Examining History
- Looking at History
- Log
- Blame
- Bisect
- Summary
Chapter 9. Submodules and Subtrees
- Submodules
- Dependency Management
- Git Submodules
- Working with Submodules
- Subtrees
- Subtrees – How They Work
- Subtrees vs Submodules
- Summary
Chapter 10. Basic Git Operations
- Advanced Configuration
- Advanced Configuration Variables
- Environment Variables
- Aliases
- Git Hooks
- Summary
Lab Exercises
Lab 1. Starting Out With Git
Lab 2. Branching, Merging and Working with Remotes
Lab 3. Experimenting with Workflows
Lab 4. Using the GitFlow Workflow
Lab 5. Rebasing and Rewriting History
Lab 6. Git Submodules
Lab 7. (Optional) GitFlow Workflow With the GitFlow Extensions