🔧 GitHub & Version Control

Master Git, GitHub, and Modern Version Control Workflows

Dr. Nikhil Kumar Rajput

📚 Course Overview

This comprehensive course covers Git version control, GitHub platform features, and modern collaborative development workflows essential for software development and project management.

  • Git Fundamentals & Command Line
  • GitHub Platform & Remote Repositories
  • Branching Strategies & Workflows
  • Collaboration & Pull Requests
  • GitHub Actions & CI/CD
  • Open Source Contribution

🎯 Learning Objectives

Upon course completion, you will be able to:

  • Use Git for effective version control
  • Collaborate on GitHub projects efficiently
  • Implement proper branching strategies
  • Contribute to open source projects
  • Set up automated workflows with Actions
  • Manage code reviews and team collaboration

💻 Practical Exercises

Hands-on experience with real-world scenarios:

  • Basic Git Operations & History
  • Branching & Merging Strategies
  • Collaborative Development Simulation
  • Open Source Contribution Workshop
  • CI/CD Pipeline with GitHub Actions
  • Portfolio Website with GitHub Pages
  • Team Project Management

📊 Assessment Structure

Your version control skills will be evaluated through:

  • Practical Git Exercises (30%)
  • Collaborative Project Work (25%)
  • Open Source Contribution (20%)
  • Portfolio Development (15%)
  • Best Practices & Documentation (10%)

🛠️ Tools & Platforms

Essential tools you'll master:

  • Git Command Line Interface
  • GitHub Desktop & VS Code Integration
  • GitHub CLI & API
  • Branch Protection & Security
  • Issue Tracking & Project Boards
  • Markdown Documentation

🌟 Professional Skills

Industry-relevant competencies:

  • Code Review Best Practices
  • Commit Message Standards
  • Repository Organization
  • License & Legal Considerations
  • Community Guidelines & Ethics
  • Portfolio Development for Career

🚀 Essential Git Commands

Master the fundamental Git workflow

# Initialize repository and make first commit git init git add . git commit -m "Initial commit" # Create and switch to new branch git checkout -b feature/new-feature git add modified_file.py git commit -m "Add new feature implementation" # Merge back to main branch git checkout main git merge feature/new-feature git push origin main
UNIVERSITY OF DELHI SYLLABUS

📘 Course Curriculum

Unit-wise syllabus aligned with the University of Delhi curriculum.

Unit 1: Introduction to Version Control

  • Need for version control
  • Centralized vs distributed VCS
  • Introduction to Git

Unit 2: Git Basics

  • Repositories and commits
  • The staging area
  • Viewing history and .gitignore

Unit 3: Branching and Merging

  • Creating and switching branches
  • Merging and conflict resolution
  • Tags and releases

Unit 4: Remote Repositories and GitHub

  • Cloning, push and pull
  • GitHub repositories
  • Forks and pull requests

Unit 5: Collaboration and Workflows

  • Issues and code review
  • Git workflows
  • GitHub Actions and CI/CD