Courses Offered: SCJP SCWCD Design patterns EJB CORE JAVA AJAX Adv. Java XML STRUTS Web services SPRING HIBERNATE  

       

GIT, GITHUB & GITGUB Actions for Beginners Course Details
 

Subcribe and Access : 5200+ FREE Videos and 21+ Subjects Like CRT, SoftSkills, JAVA, Hadoop, Microsoft .NET, Testing Tools etc..

Batch Date: Jan 24th & 25th @4:00PM

Faculty: Mrs. Parvati (10+ Yrs of Exp,..)

Duration: 5 Weekends Batch

Venue :
DURGA SOFTWARE SOLUTIONS,
Flat No : 202, 2nd Floor,
HUDA Maitrivanam,
Ameerpet, Hyderabad - 500038

Ph.No: +91 - 8885252627, 9246212143, 80 96 96 96 96

Syllabus:

GIT, GITHUB & GITGUB Actions
for Beginners

Course Description

Covers version control with Git, collaboration on GitHub, and CI/CD with GitHub Actions. Emphasis on hands-on practice, real-world workflows, and best practices.
Learning Outcomes

By the end of this course, students will:

• Understand version control and its benefits
• Use Git commands for version control
• Collaborate on GitHub
• Work with branches, pull requests, and code reviews
• Automate workflows with GitHub Actions
• Troubleshoot common Git/GitHub issues
• Apply best practices in real projects

PREREQUISITES

• Basic computer skills (file management, text editing)
• Comfortable with command line/terminal (Windows, Mac, or Linux)
• Basic understanding of software development concepts (helpful but not required)
• No prior Git/GitHub experience needed

COURSE STRUCTURE

WEEKEND 1: INTRODUCTION TO VERSION CONTROL & GIT FUNDAMENTALS

Day 1 (Saturday - 2.5 hours)Session 1.1: Version Control Concepts (45 minutes)

• What is version control?
• Problems without version control
• Types of version control (Centralized vs Distributed)
• Introduction to Git
• Git vs other version control systems
• Installation and setup (Windows/Mac/Linux)
• Initial Git configuration (name, email, editor)
• Verifying installation

Session 1.2: Git Basics - Getting Started (45 minutes)

• Understanding Git workflow (Working Directory → Staging Area → Repository)
• Initializing a repository (git init)
• Understanding .git directory structure
• Checking repository status (git status)
• Adding files to staging area (git add)
• Making your first commit (git commit)
• Writing effective commit messages (best practices)
• Viewing commit history (git log, git log --oneline)
• Understanding commit hashes

Session 1.3: Hands-On Practice & File Management (60 minutes)

• Practice: Create first repository
• Practice: Make multiple commits
• Practice: Modify files and track changes
• Undoing changes (git restore, git checkout)
• Understanding file states (untracked, staged, modified, committed)
• Ignoring files (.gitignore)
• Common .gitignore patterns
• Practice: Create and use .gitignore

Assignment 1: Create a personal project repository, make 10+ commits with meaningful messages, and implement .gitignore

Day 2 (Sunday - 2.5 hours)Session 1.4: Working with Git History (60 minutes)

• Viewing detailed commit history (git log variations)
• Understanding commit differences (git diff)
• Comparing commits (git diff HEAD, git diff HEAD~1)
• Viewing file changes between commits
• Time travel in Git (conceptual overview)
• Identifying specific commits

Session 1.5: Advanced File Operations (60 minutes)

• Removing files from Git (git rm)
• Renaming/moving files (git mv)
• Unstaging files (git restore --staged)
• Discarding local changes (git restore)
• Amending commits (git commit --amend)
• Understanding when to amend vs new commit

Session 1.6: Practice Lab & Q&A (30 minutes)

• Comprehensive practice session
• Troubleshooting common issues
• Q&A session
• Week 1 review and assessment

Weekend 1 Deliverable: Complete repository with proper commit history, .gitignore, and documented workflow

WEEKEND 2: BRANCHING, MERGING & COLLABORATION FUNDAMENTALS

Day 3 (Saturday - 2.5 hours)Session 2.1: Understanding Branches (60 minutes)

• What are branches and why use them?
• Understanding the main/master branch
• Creating branches (git branch, git checkout -b)
• Switching between branches (git checkout, git switch)
• Listing branches
• Understanding branch pointers
• Visual representation of branches
• Practice: Creating and switching branches

Session 2.2: Working with Branches (60 minutes)

• Making changes on different branches
• Independent development on branches
• Viewing branch differences
• Renaming branches
• Deleting branches (git branch -d, git branch -D)
• Understanding branch protection
• Practice: Multi-branch workflow

Session 2.3: Merging Branches (30 minutes)

• What is merging?
• Fast-forward merges
• Three-way merges
• Merge conflicts (introduction)
• Practice: Merge branches without conflicts

Assignment 2: Create a feature branch workflow, develop features separately, and merge them back

Day 4 (Sunday - 2.5 hours)Session 2.4: Merge Conflicts Resolution (75 minutes)

• Understanding merge conflicts
• When conflicts occur
• Identifying conflicted files
• Conflict markers (<<<<<<<, =======, >>>>>>>)
• Manual conflict resolution step-by-step
• Strategies for conflict resolution
• Using merge tools
• Practice: Creating and resolving conflicts
• Preventing conflicts (best practices)

Session 2.5: Stashing and Cleaning (45 minutes)

• What is stashing?
• Stashing changes (git stash)
• Viewing stash list (git stash list)
• Applying stashes (git stash apply, git stash pop)
• Creating named stashes
• Dropping stashes
• Cleaning untracked files (git clean)
• Practice: Using stash in real scenarios

Session 2.6: Branching Strategies & Best Practices (30 minutes)

• Common branching strategies
• Feature branch workflow
• Git Flow (overview)
• GitHub Flow
• Best practices for branching
• Naming conventions
• When to create branches

Weekend 2 Deliverable: Demonstrate branch workflow with merges and conflict resolution

WEEKEND 3: GITHUB ESSENTIALS & REMOTE COLLABORATION

Day 5 (Saturday - 2.5 hours)Session 3.1: Introduction to GitHub (45 minutes)

• What is GitHub?
• GitHub vs Git (understanding the difference)
• Creating a GitHub account
• Setting up SSH keys (comprehensive guide)
• Setting up HTTPS authentication
• GitHub interface overview
• Understanding GitHub's role in collaboration

Session 3.2: Remote Repositories (75 minutes)

• What are remote repositories?
• Adding remote repositories (git remote add)
• Viewing remotes (git remote -v)
• Understanding origin
• Cloning repositories (git clone)
• Fetching from remote (git fetch)
• Pulling changes (git pull)
• Understanding fetch vs pull
• Practice: Clone, modify, and push

Session 3.3: Pushing to GitHub (30 minutes)

• Pushing commits (git push)
• Pushing branches (git push -u origin branch-name)
• Understanding upstream branches
• Pushing tags
• Practice: Complete push workflow

Assignment 3: Create GitHub repository, push local code, and demonstrate fetch/pull workflow

Day 6 (Sunday - 2.5 hours)Session 3.4: GitHub Features - Repository Management (60 minutes)

• Creating repositories on GitHub
• Repository settings and configuration
• README.md files (markdown basics)
• Adding descriptions, topics, and tags
• Repository visibility (public vs private)
• GitHub Pages (introduction)
• Repository insights and analytics
• Managing repository access

Session 3.5: Forks and Cloning (60 minutes)

• What is forking?
• Forking repositories on GitHub
• Fork vs Clone (when to use what)
• Syncing forks with upstream
• Contributing to open source projects
• Practice: Fork, clone, and contribute workflow

Session 3.6: GitHub Collaboration Features (30 minutes)

• Issues (creating, managing, closing)
• Labels and milestones
• Project boards (Kanban)
• Discussions
• Wiki pages
• Practice: Create and manage issues

Weekend 3 Deliverable: Complete GitHub setup with remote repository, forks, and collaboration features

WEEKEND 4: COLLABORATION WORKFLOWS & PULL REQUESTS

Day 7 (Saturday - 2.5 hours)Session 4.1: Pull Requests - Foundation (75 minutes)

• What are Pull Requests (PRs)?
• PR workflow
• Creating PRs
• PR templates
• Reviewing PRs
• Commenting on PRs
• Requesting reviews
• Approving PRs
• Practice: Create and review PRs

Session 4.2: Advanced Pull Request Features (75 minutes)

• PR descriptions and best practices
• Linking issues in PRs
• Assigning reviewers
• Review comments and suggestions
• Resolving conversations
• Updating PRs (new commits, rebasing)
• Handling feedback
• Practice: Complete PR workflow

Assignment 4: Team collaboration project using PRs (simulated or real)

Day 8 (Sunday - 2.5 hours)Session 4.3: Code Reviews (60 minutes)

• Importance of code reviews
• Reviewing PRs effectively
• Providing constructive feedback
• Addressing review comments
• Review guidelines and best practices
• Automated code review tools (introduction)
• Practice: Conduct peer reviews

Session 4.4: Advanced Git Operations for Collaboration (60 minutes)

• Rebasing vs Merging
• Interactive rebase (git rebase -i)
• Squashing commits
• Reordering commits
• When to rebase vs merge
• Rewriting history (caution and best practices)
• Force push (understanding risks)
• Practice: Safe rebasing

Session 4.5: Tags and Releases (30 minutes)

• What are tags?
• Creating tags (git tag)
• Annotated vs lightweight tags
• Pushing tags to GitHub
• Creating releases on GitHub
• Semantic versioning basics
• Release notes and changelogs
• Practice: Tagging and releasing

Weekend 4 Deliverable: Complete collaboration project with PRs, reviews, and releases

WEEKEND 5: GITHUB ACTIONS & CI/CD AUTOMATION

Day 9 (Saturday - 2.5 hours)Session 5.1: Introduction to CI/CD and GitHub Actions (60 minutes)

• What is CI/CD?
• Benefits of automation
• Introduction to GitHub Actions
• GitHub Actions components
• Workflows
• Jobs
• Steps
• Actions
• GitHub Actions marketplace
• Pricing and usage limits

Session 5.2: Creating Your First Workflow (75 minutes)

• Understanding YAML syntax
• Workflow file structure
• Creating .github/workflows directory
• Basic workflow file
• Triggering workflows (events: push, pull_request, manual)
• Running first workflow
• Viewing workflow runs
• Practice: Create a simple workflow

Session 5.3: Common Workflow Patterns (15 minutes)

• Workflow triggers overview
• Scheduled workflows (cron)
• Manual workflows (workflow_dispatch)
• Multiple triggers
• Conditional workflows

Assignment 5: Create automated workflow for project

Day 10 (Sunday - 2.5 hours)Session 5.4: Advanced GitHub Actions (75 minutes)

• Using pre-built actions from marketplace
• Environment variables and secrets
• Managing secrets in GitHub
• Matrix builds (testing multiple versions)
• Job dependencies and workflows
• Caching dependencies
• Artifacts (uploading and downloading)
• Practice: Advanced workflow with multiple jobs

Session 5.5: Real-World Use Cases (60 minutes)

• Automated testing workflows
• Automated deployment workflows
• Continuous integration setup
• Linting and code quality checks
• Building and publishing packages
• Docker workflows (introduction)
• Notifications (Slack, email, etc.)
• Practice: Complete CI/CD pipeline

Session 5.6: Best Practices & Course Wrap-up (15 minutes)

• GitHub Actions best practices
• Security considerations
• Cost optimization
• Troubleshooting common issues
• Course recap
• Next steps and advanced topics
• Resources for continued learning
• Final Q&A

Weekend 5 Deliverable: Complete CI/CD pipeline with GitHub Actions

DETAILED TOPIC BREAKDOWN

GIT CORE CONCEPTS (Weeks 1-2)

1. Version Control Fundamentals

• History and evolution
• Distributed vs centralized systems
• Git architecture and internal structure

2. Git Configuration

• Global vs local configuration
• Advanced configuration options
• Aliases and shortcuts

3. Git Objects and Database

• Blobs, trees, commits, tags
• SHA-1 hashing
• Object storage

4. Working Directory Management

• File lifecycle in Git
• Staging area mechanics
• Commit objects and metadata

BRANCHING & MERGING (Week 2)

1. Branch Theory

• Branch as pointer
• HEAD pointer
• Branch relationships

2. Merge Strategies

• Fast-forward merge
• Three-way merge
• Merge commit creation

3. Conflict Resolution

• Conflict types
• Resolution strategies
• Prevention techniques

4. Advanced Branching

• Branch naming conventions
• Branch protection rules
• Long-running branches

GITHUB PLATFORM (Weeks 3-4)

1. GitHub Architecture

• Repository structure
• Organization accounts
• Enterprise features overview

2. Authentication & Security

• SSH keys (generation and management)
• Personal Access Tokens (PATs)
• Two-factor authentication
• GPG signing (introduction)

3. Repository Features

• GitHub Pages
• GitHub Packages
• Templates
• Security features (Dependabot, secret scanning)

COLLABORATION WORKFLOWS (Week 4)

1. Pull Request Lifecycle

• Draft PRs
• PR status checks
• Required reviews
• Auto-merge

2. Code Review Best Practices

• Review checklist
• Comment etiquette
• Review automation

3. Git Workflows

• Centralized workflow
• Feature branch workflow
• Git Flow (detailed)
• GitHub Flow (detailed)
• Forking workflow

GITHUB ACTIONS & AUTOMATION (Week 5)

1. Workflow Components

• Workflow syntax
• Contexts and expressions
• Environment variables
• Secrets management

2. Common Actions

• Checkout action
• Setup actions (Node.js, Python, etc.)
• Docker actions
• Third-party actions

3. Advanced Patterns

• Reusable workflows
• Composite actions
• Custom actions (introduction)
• Self-hosted runners (introduction)

4. CI/CD Patterns

• Testing workflows
• Deployment strategies
• Multi-environment deployments
• Rollback procedures

HANDS-ON PROJECTS

Project 1: Personal Portfolio Repository (Weekend 1)

• Create a personal project
• Implement proper Git workflow
• Practice commits and .gitignore

Project 2: Feature Branch Development (Weekend 2)

• Simulate feature development
• Multiple branches and merges
• Conflict resolution practice

Project 3: Open Source Contribution (Weekend 3-4)

• Fork an open source project
• Create feature branch
• Submit PR with proper documentation
• Address review feedback

Project 4: Automated CI/CD Pipeline (Weekend 5)

• Set up automated testing
• Automated builds
• Automated deployments (staging/production)
• Implement notifications

ADVANCED TOPICS (BONUS - TIME PERMITTING)

• Git hooks (pre-commit, post-commit)
• Submodules and subtrees
• Git LFS (Large File Storage)
• GitHub Packages
• GitHub Codespaces
• Advanced GitHub Actions (custom actions)
• Security scanning and Dependabot
• GitHub API basics
• GitHub CLI (gh)
• Advanced branching strategies

POST-COURSE LEARNING PATH

1. Intermediate Git:

• Interactive rebase mastery
• Git hooks automation
• Advanced conflict resolution

2. Advanced GitHub:

• Organization management
• Enterprise features
• Advanced security

3. CI/CD Mastery:

• Advanced GitHub Actions
• Multi-cloud deployments
• Infrastructure as Code integration

4. Specializations:

• GitOps methodology
• DevOps practices
• Open source contribution