This is used to test your basic understanding of Git and GitHub.
There are 7 domains. These are:
Domain 1: Introduction to Git and GitHub (22%)
Understand the basics of Git
- Explain what Git is and why it is used – it is a distributed version control system
- Describe the basic Git workflow – working directory, staging area (index), and repository
- Understand the concept of repositories – it stores project files and their change history.
- Explain the difference between local and remote repositories
Work with Git commands
- Initialize a Git repository – git init
- Clone a repository – git clone [url]
- Add and commit changes – git add and git commit -m
- Push and pull changes – git push, git pull
- Understand branching and merging – git branch, git checkout -b, git merge
Navigate GitHub
- Create a GitHub account
- Create and manage repositories on GitHub
- Understand the GitHub interface – code tab, issues, pull requests, actions, and settings
- Use GitHub issues and pull requests – bug tracking or feature requests
Links
- Step-by-step instructions on creating a new repository and committing your first change.
- Detailed guide on creating a new repository from the web UI, including options for templates and visibility settings.
- A comprehensive tutorial on what repositories are, how to create one, and their various features and settings.
Domain 2: Working with GitHub Repositories (8%)
Manage repository settings
- Configure repository settings – name, description, visibility, default branch, and enabling/disabling features
- Set up repository permissions – role-based permissions, collaborators vs teams, private
- Use repository templates
Work with files in a repository
- Add, edit, and delete files.
- Understand file versioning – understand the SHA (commit hash)
- Use GitHub Desktop for file management
Domain 3: Collaboration Features (30%)
Collaborate using GitHub
- Fork repositories
- Create and manage pull requests – Feature branch → pull request → review → merge.
- Review and merge pull requests – “Merge”, “Squash and merge”, or “Rebase and merge”
- Use GitHub Actions for CI/CD – Push, Pull request, Schedule (cron)
Use GitHub for project management
- Create and manage issues
- Use labels, milestones, and projects
- Track progress with GitHub Projects
Domain 4: Modern Development (13%)
Implement DevOps practices
- Understand the principles of DevOps
- Use GitHub Actions for automation
- Implement CI/CD pipelines
Use GitHub for code review
- Conduct code reviews
- Use GitHub’s code review tools – Inline comments, Approvals or change requests, Status checks before merging
- Understand best practices for code reviews
Domain 5: Project Management (7%)
Manage projects with GitHub
- Create and manage GitHub Projects
- Use project boards for task management
- Integrate GitHub Projects with issues and pull requests
Domain 6: Privacy, Security, and Administration (10%)
Ensure repository security
- Set up branch protection rules
- Use security features like Dependabot
- Manage repository access and permissions
Administer GitHub organizations
- Create and manage organizations
- Set up organization-level security – including enforcing two-factor authentication
- Manage teams and members
Domain 7: Benefits of the GitHub Community (10%)
Engage with the GitHub community
- Participate in open source projects
- Use GitHub Discussions
- Contribute to community projects