Welcome to the GitHub Desktop guide! This tool makes Git and GitHub super easy with a beautiful graphical interface.
- ✅ How to install and set up GitHub Desktop
- ✅ How to clone repositories with one click
- ✅ How to make commits and push changes visually
- ✅ How to sync with remote repositories
- ✅ How to handle common Git tasks without command line
- Visual Interface: See your changes clearly
- No Command Line: Point and click instead of typing commands
- Error Prevention: Harder to make mistakes
- Built-in Tutorials: Learn as you go
- All Git Features: Everything you need for the course
- Professional Tool: Used by many developers
- Easy Collaboration: Share code with classmates effortlessly
- Go to: desktop.github.com
- Click: "Download for [Your OS]"
- Install: Run the downloaded file with default settings
- ✅ Windows 10/11
- ✅ macOS 10.15+
- ❌ Linux (not officially supported - use command line Git)
- Open: GitHub Desktop
- Sign In: Click "Sign in to GitHub.com"
- Browser Opens: Complete authentication in your web browser
- Return: Switch back to GitHub Desktop
GitHub Desktop will ask for:
- Name: Your full name (for commit attribution)
- Email: Use the same email as your GitHub account
- Help improve GitHub Desktop: Choose based on your preference
- Usage data: Optional - helps GitHub improve the app
- Go to: github.com/harshalmore31/cdac_python
- Click: "Fork" button (top-right)
- Create fork: Keep default settings and click "Create fork"
- In GitHub Desktop: File → Clone a repository from the Internet
- Or: Click "Clone a repository from the Internet" on welcome screen
- Choose: "GitHub.com" tab
- Find: Your forked repository (should be
YOUR_USERNAME/cdac_python) - Choose Location: Select where to save on your computer
- Clone: Click "Clone"
You now have a local copy of the repository on your computer!
- In GitHub Desktop: Current Repository → Choose your cdac_python
- Open in VSCode: Repository → Open in Visual Studio Code
- Or: Repository → Show in Explorer/Finder
- Navigate: Go to
assignment_submission/Python_Day_X/ - Create File: Make your assignment file (e.g.,
your_name_q1.py) - Write Code: Complete your assignment
- Save: Save your file (
Ctrl+Sin VSCode)
- Switch: Back to GitHub Desktop
- Changes Tab: You'll see your new/modified files listed
- Diff View: Click a file to see exactly what changed (green = added, red = removed)
Think of a commit as taking a "snapshot" of your work at a specific point in time.
- Review Changes: Make sure all your files are listed
- Summary: Add a short description (e.g., "Completed Day 1 Assignment Q1")
- Description (optional): Add more details about what you did
- Commit: Click "Commit to main"
- ✅ "Completed Day 1 Assignment Q1 - Number table program"
- ✅ "Fixed bug in Day 2 Q3 - List sorting"
- ✅ "Added comments to Day 1 solutions"
- ❌ "stuff" (not descriptive)
- ❌ "asdf" (not helpful)
Pushing uploads your local commits to GitHub so others can see your work.
- After Committing: You'll see "Push origin" button
- Click: "Push origin"
- Wait: GitHub Desktop uploads your changes
- Success: Your changes are now on GitHub!
- Repository: Repository → View on GitHub
- Check: Your changes should be visible on github.com
When Harshal adds new course content or fixes, you'll want to get those updates.
- Check for Updates: Branch → "Merge into current branch"
- Choose Upstream: Look for "upstream/main" in the list
- Merge: Click to merge Harshal's updates into your fork
- Push: Push the merged changes to your GitHub fork
- Repository: Repository → Repository Settings
- Remote: Add upstream remote:
https://github.com/harshalmore31/cdac_python.git - Fetch: Branch → Fetch and merge from upstream
- Changes: Files you've modified
- History: Past commits
- Diff View: Shows exactly what changed in each file
- File List: All modified files
- Current Repository: Switch between repositories
- Current Branch: Usually "main" for this course
- Fetch/Push: Sync with GitHub
- 📥 Fetch origin: Check for new changes from GitHub
- 🚀 Push origin: Upload your changes to GitHub
- 🔄 Pull origin: Download changes from GitHub
- 📋 Commit: Save your changes with a message
-
Keyboard Shortcuts:
Ctrl+Shift+A: Open in VSCodeCtrl+Shift+F: Open in File ExplorerCtrl+Enter: Commit changesCtrl+P: Push to origin
-
Commit Often: Small, frequent commits are better than large ones
-
Descriptive Messages: Your future self will thank you!
-
Review Before Committing: Always check the diff to make sure you're committing what you intend
- One Feature Per Commit: Don't mix multiple assignments in one commit
- Check File Status: Make sure you're not committing unnecessary files
- Use .gitignore: Ignore temporary files (GitHub Desktop handles this automatically)
- Cause: You might be looking at the original repo instead of your fork
- Solution: Make sure you forked the repository first, then clone YOUR fork
- Cause: GitHub Desktop lost connection to your account
- Solution: File → Options → Accounts → Sign out and sign back in
- Cause: You and Harshal modified the same file
- Solution: GitHub Desktop will guide you through resolving conflicts
- Cause: Someone else (usually Harshal) made changes since your last pull
- Solution: Fetch and merge first, then push again
- Cause: You committed but didn't push
- Solution: Click "Push origin" to upload your commits
- ✅ Install and setup GitHub Desktop
- ✅ Fork and clone the repository
- ✅ Make your first commit and push
- ✅ Develop a rhythm: code → commit → push
- ✅ Write better commit messages
- ✅ Learn to sync with upstream changes
- ✅ Understand branching (if needed for advanced assignments)
- ✅ Learn to resolve simple merge conflicts
- ✅ Explore history and diff views
You're now ready to use GitHub Desktop like a pro! 🎊
- ✅ Installing and configuring GitHub Desktop
- ✅ Forking and cloning repositories
- ✅ Making commits with descriptive messages
- ✅ Pushing changes to GitHub
- ✅ Syncing with repository updates
- ✅ Understanding the GitHub Desktop interface
- Practice: Use this workflow for all your assignments
- Explore: Try other GitHub Desktop features as you get comfortable
- Learn: Consider learning command line Git later for advanced features
- Help Others: Share your knowledge with classmates!
- Official Documentation: docs.github.com/desktop
- Video Tutorials: Search "GitHub Desktop tutorial" on YouTube
- Community: GitHub Community Forums
- Help in Course: Ask Harshal or classmates
🎯 Remember: GitHub Desktop makes Git friendly and visual. Don't be afraid to experiment - you can always undo changes or ask for help!