The blueprint
A mock exam here has 60 questions in 100 minutes, split across the domains in the same proportions as the official exam guide. The official pass mark is 700 of 1,000 (scaled). FixOps scores practice against a target of 72%.
-
01
Understand Git and GitHub basics
-
02
Work with GitHub repositories
-
03
Collaborate using GitHub
-
04
Apply modern development practices
-
05
Manage projects with GitHub
-
06
Understand privacy, security, and administration
-
07
Explore the GitHub community
Sample questions
Three of the 10 questions in the free diagnostic. Open one to see the answer and why.
A team keeps project files in a shared folder and keeps losing earlier versions. What does a version control system give them?
- A history of every change, so any earlier version can be recovered
- A way to stop two people from opening the same file at the same time
- Automatic backups of every computer on the network
- Faster file downloads from the shared folder
Answer: A history of every change, so any earlier version can be recovered. A version control system records the history of changes: what changed, who changed it, when and why. Any earlier version of the project can be recovered at any time.
Which statement describes Git and GitHub correctly?
- Git and GitHub are two names for the same product
- Git only works with GitHub, and GitHub only stores the Git repositories of Microsoft teams
- Git tracks changes to files; GitHub hosts Git repositories and adds collaboration tools
- GitHub is the command-line program; Git is its website
Answer: Git tracks changes to files; GitHub hosts Git repositories and adds collaboration tools. Git is an open source distributed version control system. GitHub hosts Git repositories in the cloud and adds planning and collaboration tools such as issues, pull requests and Actions.
Which file is usually the first thing visitors see and should explain what a project does and how to start using it?
- CODEOWNERS
- LICENSE
- README
- SECURITY.md
Answer: README. A README explains what the project does, why it is useful, how to get started, where to get help and who maintains it. GitHub shows it on the repository's main page.
Revision notes: Understand Git and GitHub basics
The notes for one domain, free to read here and in the app. FixOps Pro has them for all 7 domains.
What version control and Git are, how GitHub builds on them, the kinds of GitHub accounts and plans, the GitHub flow, Markdown for issues and pull requests, and when to use GitHub Desktop and GitHub Mobile.
Version control and Git
- Version control records every change, who made it, when and why, so any earlier version can be recovered.
- Git is a distributed version control system: every clone holds the full history and works offline.
- A repository holds a project's files and folders with the history of every change.
- A commit is a snapshot with a message; a branch is a separate line of development.
- git add stages changes and git commit records what is staged.
- git clone copies a repository, git pull brings in remote commits and git push sends local ones.
- git merge combines branches; a conflict appears when both changed the same lines.
- Cloning creates a remote called origin; .gitignore keeps files out of version control.
- Good commits hold one isolated change with a descriptive message.
GitHub, accounts and plans
- GitHub hosts Git repositories in the cloud and adds planning, review and automation tools across the whole software life cycle.
- There are user, organization and enterprise accounts; people sign in only to user accounts.
- Organizations are shared accounts whose actions are attributed to each member's own user account.
- Enterprise accounts manage policy and billing for many organizations.
- Managed user accounts are created by an enterprise and cannot create public content.
- GitHub Free personal accounts get unlimited public and private repositories, with fewer features in private ones.
- Personal accounts use Free or Pro; organizations use Free, Team or Enterprise.
- An account made to automate work, such as CI, is a machine user.
The GitHub flow
- Create a branch, commit, open a pull request, address reviews, merge, then delete the branch.
- Draft pull requests share unfinished work and cannot be merged.
- New commits pushed to the branch update the open pull request.
- Use a separate branch for each set of unrelated changes.
- Branch protection can block a merge until reviews and checks pass.
- GitHub flow works for documentation and policy as well as code, entirely in the browser if needed.
Markdown
- # starts a heading, ** makes bold text and > quotes.
- - [ ] makes a task list item, and [x] marks it done.
- @username notifies a person or team; #number links an issue or pull request.
- Three backticks fence a code block, and a language name after them adds highlighting.
- Emoji are written as :code:, such as :+1:.
GitHub Desktop and GitHub Mobile
- GitHub Desktop is a free, open source Git client for Windows and macOS with a visual interface.
- Desktop makes less common operations easy, such as committing selected lines or adding a co-author.
- Desktop works beside an editor: branch and commit in Desktop, edit elsewhere.
- GitHub Mobile for Android and iOS handles notifications, reviews, small edits and search on the go.
- GitHub Mobile can serve as a two-factor method and approve sign-in attempts.
Easy to mix up
- Git is the version control tool; GitHub is the hosting and collaboration platform.
- git pull brings commits in; git push sends them out.
- Organizations cannot be signed in to; people use their own accounts.
- Pro is a personal plan; Team is an organization plan.
- #42 links an issue; # 42 at the start of a line is a heading.