Assignment 1: Git & Version Control Basics

Due: February 15, 2025 at 11:59 PM

Overview

This assignment introduces you to Git version control and collaborative development workflows. You’ll learn to manage code repositories, create branches, and work with remote repositories.

Learning Objectives

By completing this assignment, you will:

  • Master basic Git commands (add, commit, push, pull)
  • Understand branching and merging strategies
  • Practice collaborative development using GitHub
  • Learn to resolve merge conflicts
  • Set up a proper development workflow

Getting Started

  1. Accept the assignment by clicking the GitHub Classroom link above
  2. Clone your repository to your local machine
  3. Read the README.md in your assigned repository for detailed instructions
  4. Complete the tasks listed in the repository

Tasks Overview

The repository contains several exercises:

Part 1: Basic Git Operations (25 points)

  • Initialize a repository
  • Make commits with meaningful messages
  • Create and manage branches
  • Practice staging and unstaging changes

Part 2: Collaboration Workflow (35 points)

  • Fork and clone a repository
  • Create feature branches
  • Submit pull requests
  • Review and merge code

Part 3: Conflict Resolution (25 points)

  • Create intentional merge conflicts
  • Resolve conflicts using Git tools
  • Practice rebasing vs merging strategies

Part 4: Best Practices (15 points)

  • Write good commit messages
  • Use .gitignore effectively
  • Tag releases properly
  • Document your workflow

Submission Guidelines

  • Complete all tasks in your GitHub repository
  • Ensure all commits are pushed to GitHub
  • Submit a final commit with the message “Assignment 1 Complete”
  • No additional submission required - we’ll grade directly from your GitHub repository

Grading Criteria

Criteria Points Description
Git Basics 25 Proper use of fundamental Git commands
Collaboration 35 Effective use of branches, PRs, and reviews
Conflict Resolution 25 Successfully resolving merge conflicts
Best Practices 15 Code quality, commit messages, documentation

Resources

Getting Help

  • Office Hours: Wednesdays 2-4 PM
  • Discussion Forum: Use GitHub Discussions in your repository
  • Email: For private questions only

Due: February 15, 2025 at 11:59 PM • Points: • Estimated Time: 3-4 hours