GitHub Advanced – Direct Links to Software Carpentry Lessons
Advanced Git and GitHub concepts for students who have completed the basics. This lesson provides direct links to the official Software Carpentry Version Control with Git lessons covering history exploration, file management, and remote repositories.
This tutorial is based on the resources at Software Carpentry’s Version Control with Git
Prerequisites
Before starting these lessons, make sure you have:
- Completed the basic Git lessons (lesson-6-github-shell)
- A working Git repository with some commits
- A GitHub account set up
- Basic familiarity with the command line
Lesson Structure
Learn how to explore and understand your Git repository’s history.
- How can I identify old versions of files?
- How do I review my changes?
- How can I recover old versions of files?
- Understanding commit history and metadata
Learn how to tell Git which files to ignore and why this is important.
- How can I tell Git to ignore files I don’t want to track?
- Understanding .gitignore files
- Best practices for file management
- Common patterns for ignoring files
Learn how to connect your local repository to GitHub and work with remote repositories.
- How do I share my changes with others on the web?
- Setting up remote repositories
- Pushing and pulling changes
- Understanding the relationship between local and remote
Additional Resources
Practice Activities
After completing each lesson, try these hands-on activities:
- Explore Repository History
- Use
git log
to view commit history
- Practice using
git diff
to compare versions
- Try reverting changes with
git checkout
- Set Up .gitignore
- Create a .gitignore file for your project
- Add common patterns (node_modules, .DS_Store, etc.)
- Test that ignored files are not tracked
- Work with GitHub
- Create a new repository on GitHub
- Connect your local repository to GitHub
- Push your changes and pull from remote
Advanced Concepts Covered
- Commit History: Understanding how Git tracks changes over time
- File Management: Controlling which files Git should track
- Remote Collaboration: Working with repositories hosted on GitHub
- Best Practices: Following Git and GitHub conventions
Getting Help
Next Steps
After completing these lessons, you’ll be ready for:
- Collaborating with others on GitHub
- Working with branches and pull requests
- Managing conflicts and merging
- Contributing to open source projects
This lesson structure provides direct access to advanced Software Carpentry Git lessons while building on the foundation established in the basic lessons.