Assignment 1: Git & Version Control Basics
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
- Accept the assignment by clicking the GitHub Classroom link above
- Clone your repository to your local machine
- Read the README.md in your assigned repository for detailed instructions
- 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