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