GitHub Foundations Certification (GH-900) — Questions and Answers
Question 1: How should you document data management configurations?
- Keep all configuration details in personal memory
- Store documentation on individual workstations
- Document only when asked by management
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 2: How should you document network configuration configurations?
- Keep all configuration details in personal memory
- Document only when asked by management
- Store documentation on individual workstations
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 3: What is a 'job' in GitHub Actions?
- A separate repository
- A code editor plugin
- A unit of steps within a workflow (Correct answer)
- A GitHub organization
Correct answer: A unit of steps within a workflow
In GitHub Actions, a 'job' is a set of steps that execute on the same runner, which is a virtual machine or container. Workflows can contain one or more jobs, which can run sequentially or in parallel. This allows for organized execution of tasks like building, testing, and deploying your code.
Question 4: What is the primary purpose of using Git?
- Writing documentation
- Designing user interfaces
- Version control and collaboration (Correct answer)
- Deploying applications
Correct answer: Version control and collaboration
Git is a distributed version control system (DVCS) designed to track changes in source code and other files over time. Its primary purpose is to enable multiple developers to collaborate on a project efficiently, managing different versions of the codebase and preventing conflicts. This ensures a complete history of all modifications and facilitates teamwork.
Question 5: What is the fundamental principle behind implementation planning in the context of GitHub Professional Certificate?
- Maximizing system complexity
- Ensuring reliability, security, and optimal performance (Correct answer)
- Avoiding all system changes
- Using the most expensive solutions available
Correct answer: Ensuring reliability, security, and optimal performance
Implementation Planning in GitHub Professional Certificate fundamentally aims to ensure system reliability, security, and optimal performance.
Question 6: What is the purpose of GitHub Issue Templates?
- To restrict which users can open issues in a repository
- To pre-fill issue forms with structured prompts that guide reporters in providing necessary information (Correct answer)
- To automatically close issues after a set time period
- To convert issues into pull requests automatically
Correct answer: To pre-fill issue forms with structured prompts that guide reporters in providing necessary information
Issue templates provide structured forms or markdown starters that prompt reporters to include all relevant information such as steps to reproduce, expected behavior, and environment details.
Question 7: GitHub Copilot for Business differs from GitHub Copilot Individual primarily by offering what additional capability?
- Offline mode for code suggestions
- Faster suggestion speed
- Support for more programming languages
- Organization-wide policy management and centralized billing (Correct answer)
Correct answer: Organization-wide policy management and centralized billing
Copilot Business adds organization-wide policy controls, centralized seat management, and consolidated billing not available in the Individual tier.
Question 8: What is GitHub Actions primarily used for?
- Encrypting repositories
- Designing UI elements
- Automating code workflows (Correct answer)
- Monitoring CPU usage
Correct answer: Automating code workflows
GitHub Actions is primarily used for automating various code-related workflows, such as continuous integration (CI), continuous delivery (CD), and other custom tasks. It allows developers to define automated processes that run in response to GitHub events, streamlining development cycles and improving efficiency. This reduces manual effort and speeds up releases.
Question 9: What happens to packages in GitHub Packages when a repository is deleted?
- Packages are scheduled for deletion along with the repository (Correct answer)
- Packages remain available at their original URLs indefinitely
- Packages become public after 30 days
- Packages are automatically transferred to the organization
Correct answer: Packages are scheduled for deletion along with the repository
When a repository is deleted, its associated packages are also scheduled for deletion as they are tied to the repository lifecycle.
Question 10: Which file in a Git repository is used to avoid tracking specific files?
- config.json
- .gitignore (Correct answer)
- README.md
- .gitattributes
Correct answer: .gitignore
The `.gitignore` file is used to specify intentionally untracked files that Git should ignore. This prevents temporary files, build artifacts, personal configurations, or sensitive data from being accidentally committed to the repository. By listing these files, you keep your repository clean and focused on essential project files.
Question 11: How do you configure a Maven pom.xml to publish artifacts to GitHub Packages?
- Add a <repository> block under <distributionManagement> with the GitHub Packages URL https://maven.pkg.github.com/OWNER/REPO (Correct answer)
- Set the MAVEN_REGISTRY environment variable to github.com
- Add a <plugin> for github-packages-maven-plugin in the build section
- Use mvn github:deploy instead of mvn deploy
Correct answer: Add a <repository> block under <distributionManagement> with the GitHub Packages URL https://maven.pkg.github.com/OWNER/REPO
Maven requires a <distributionManagement> <repository> block in pom.xml pointing to https://maven.pkg.github.com/OWNER/REPO to publish packages.
Question 12: What is the primary purpose of GitHub Issues?
- To manage repository access permissions
- To configure CI/CD pipelines
- To track bugs, feature requests, tasks, and other work items for a project (Correct answer)
- To store binary release artifacts
Correct answer: To track bugs, feature requests, tasks, and other work items for a project
GitHub Issues provide a built-in issue tracking system where teams can log bugs, feature requests, and tasks and discuss them collaboratively.
Question 13: Which GitHub feature allows team members to comment on code during a pull request?
- GitHub Pages
- Issue Tracker
- Code Review (Correct answer)
- GitHub Actions
Correct answer: Code Review
GitHub's Code Review feature, integral to pull requests, allows team members to examine proposed code changes, add comments, suggest improvements, and discuss modifications directly within the pull request interface. This collaborative process helps ensure code quality, catch bugs, and share knowledge among developers. It's a cornerstone of collaborative development.
Question 14: Which Git command is used to check the current status of your working directory and staging area?
- git log
- git commit
- git status (Correct answer)
- git check
Correct answer: git status
The `git status` command provides a summary of the current state of your working directory and staging area. It shows which files have been modified, which are staged for the next commit, and which untracked files are present. This command is essential for understanding what changes are pending and preparing for your next commit.
Question 15: Which command correctly logs Docker into the GitHub Container Registry using a Personal Access Token stored in an environment variable TOKEN?
- echo $TOKEN | docker login ghcr.io -u USERNAME --password-stdin (Correct answer)
- gh auth login --docker ghcr.io --token $TOKEN
- docker auth login ghcr.io -u USERNAME -p $TOKEN
- docker login --token $TOKEN ghcr.io
Correct answer: echo $TOKEN | docker login ghcr.io -u USERNAME --password-stdin
Piping the token via --password-stdin is the recommended secure approach to avoid exposing the token in shell history.
Question 16: What is the best practice for monitoring performance monitoring systems?
- Rely on vendor notifications exclusively
- Implement automated monitoring with alerting thresholds (Correct answer)
- Monitor only when users report problems
- Check systems manually once a month
Correct answer: Implement automated monitoring with alerting thresholds
Automated monitoring with properly configured alerting thresholds enables proactive identification and resolution of issues.
Question 17: Which tool helps automate checks on pull requests?
- GitHub Discussions
- GitHub Gists
- GitHub Pages
- GitHub Actions (Correct answer)
Correct answer: GitHub Actions
GitHub Actions is a powerful CI/CD platform that allows you to automate workflows directly within your GitHub repository. It can be configured to automatically run tests, lint code, build projects, and perform other checks whenever a pull request is opened or updated. This ensures code quality and consistency throughout the development lifecycle.
Question 18: Which approach is recommended for implementing security fundamentals changes?
- Implementing changes only during peak hours
- Skipping documentation to save time
- Following a structured change management process with testing (Correct answer)
- Making all changes at once without testing
Correct answer: Following a structured change management process with testing
A structured change management process with proper testing minimizes risk and ensures successful implementation.
Question 19: Which Git command creates a new branch?
- git branch (Correct answer)
- git create
- git init
- git checkout
Correct answer: git branch
The `git branch <branch-name>` command is used to create a new branch in your local repository. This command simply creates a new pointer to the current commit, allowing you to switch to this new branch and start making isolated changes. It's the first step in creating a separate line of development.
Question 20: What is the difference between a repository-level project and an organization-level project in GitHub?
- Repository projects can include issues from multiple repos; organization projects cannot
- Organization projects require a paid plan; repository projects are always free
- Organization projects can aggregate issues and PRs from multiple repositories; repository projects are limited to one repo (Correct answer)
- There is no functional difference between the two
Correct answer: Organization projects can aggregate issues and PRs from multiple repositories; repository projects are limited to one repo
Organization-level projects can pull in issues and pull requests from any repository within the organization, enabling cross-repo tracking.
Question 21: What is the best practice for monitoring security fundamentals systems?
- Rely on vendor notifications exclusively
- Implement automated monitoring with alerting thresholds (Correct answer)
- Monitor only when users report problems
- Check systems manually once a month
Correct answer: Implement automated monitoring with alerting thresholds
Automated monitoring with properly configured alerting thresholds enables proactive identification and resolution of issues.
Question 22: What does 'merging a pull request' mean?
- Applying changes from one branch to another (Correct answer)
- Publishing changes to GitHub Pages
- Copying repository to local
- Running automated tests
Correct answer: Applying changes from one branch to another
Merging a pull request means integrating the proposed changes from a feature branch into the base branch (e.g., `main` or `develop`). This action combines the commit history and code modifications, making the changes a permanent part of the target branch. It signifies the completion and acceptance of a feature or fix.
Question 23: What should you do when troubleshooting a troubleshooting methods issue?
- Immediately restart all systems
- Escalate everything without investigation
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
- Make random changes until the problem goes away
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 24: What is the purpose of a `.github/copilot-instructions.md` file in a repository?
- To list approved Copilot users
- To provide custom instructions that guide Copilot's suggestions for that repository (Correct answer)
- To disable Copilot for specific files
- To configure Copilot's billing settings
Correct answer: To provide custom instructions that guide Copilot's suggestions for that repository
The `copilot-instructions.md` file allows teams to provide persistent custom instructions that shape Copilot's behavior across the repository.
Question 25: Which editor integration method does GitHub Copilot NOT officially support?
- JetBrains plugin
- VS Code extension
- Neovim plugin
- Eclipse IDE plugin (Correct answer)
Correct answer: Eclipse IDE plugin
GitHub Copilot officially supports VS Code, JetBrains IDEs, Neovim, and Visual Studio, but does not have an official Eclipse plugin.
Question 26: How should you document security fundamentals configurations?
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
- Store documentation on individual workstations
- Document only when asked by management
- Keep all configuration details in personal memory
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 27: What is the recommended way to handle GitHub Packages authentication for organization members in a CI/CD pipeline?
- Hardcode credentials in the workflow YAML file
- Use a dedicated machine user's PAT or rely on GITHUB_TOKEN with appropriate permissions (Correct answer)
- Use the organization owner's credentials for all pipelines
- Share a single developer's PAT across all workflows
Correct answer: Use a dedicated machine user's PAT or rely on GITHUB_TOKEN with appropriate permissions
Using GITHUB_TOKEN (preferred) or a dedicated machine user's PAT ensures secure, auditable, and least-privilege access in CI/CD pipelines.
Question 28: How do you switch to another branch in Git?
- git update
- git switch
- git move
- git checkout (Correct answer)
Correct answer: git checkout
The `git checkout <branch-name>` command is used to switch between different branches in your repository. When you check out a branch, your working directory is updated to reflect the files and history of that specific branch. This allows you to work on different features or versions of your project independently.
Question 29: What is the fundamental principle behind system architecture in the context of GitHub Professional Certificate?
- Ensuring reliability, security, and optimal performance (Correct answer)
- Avoiding all system changes
- Using the most expensive solutions available
- Maximizing system complexity
Correct answer: Ensuring reliability, security, and optimal performance
System Architecture in GitHub Professional Certificate fundamentally aims to ensure system reliability, security, and optimal performance.
Question 30: How does linking a GitHub Issue to a pull request benefit the development workflow?
- It triggers a Dependabot security scan
- It prevents the issue from being assigned to other contributors
- It grants the PR author write access to the issue thread
- It provides traceability between the reported problem and the code change that resolves it, and can auto-close the issue on merge (Correct answer)
Correct answer: It provides traceability between the reported problem and the code change that resolves it, and can auto-close the issue on merge
Linking issues to pull requests creates a traceable connection between the problem and its fix, and using closing keywords will automatically close the issue when the PR is merged.
Question 31: What security consideration is most important in performance monitoring?
- Disabling logging to improve performance
- Using a single strong password for all systems
- Implementing the principle of least privilege and defense in depth (Correct answer)
- Security is not relevant to this area
Correct answer: Implementing the principle of least privilege and defense in depth
The principle of least privilege combined with defense in depth provides layered security that protects against various attack vectors.
Question 32: What should you do when troubleshooting a performance monitoring issue?
- Immediately restart all systems
- Make random changes until the problem goes away
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
- Escalate everything without investigation
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 33: What does 'assigning' a GitHub Issue to a user indicate?
- The issue is blocked until that user approves it
- The user has administrative control over the issue's lifecycle
- The user is responsible for addressing or working on that issue (Correct answer)
- The user will be billed for the issue's resolution time
Correct answer: The user is responsible for addressing or working on that issue
Assigning an issue designates a specific contributor as the person responsible for working on or resolving that issue.
Question 34: What security consideration is most important in compliance standards?
- Using a single strong password for all systems
- Implementing the principle of least privilege and defense in depth (Correct answer)
- Disabling logging to improve performance
- Security is not relevant to this area
Correct answer: Implementing the principle of least privilege and defense in depth
The principle of least privilege combined with defense in depth provides layered security that protects against various attack vectors.
Question 35: What is the key difference between GitHub Packages (docker.pkg.github.com) and GitHub Container Registry (ghcr.io)?
- GitHub Packages supports OCI artifacts; GHCR only supports Docker images
- There is no functional difference; they use different domain names only
- GHCR supports only public images; GitHub Packages supports private images
- GHCR is independent of repository permissions and supports granular access control; the older registry ties packages to repository access (Correct answer)
Correct answer: GHCR is independent of repository permissions and supports granular access control; the older registry ties packages to repository access
GHCR (ghcr.io) has independent access controls from repositories and supports organization-level visibility, while the legacy docker.pkg.github.com registry was tied to repository permissions.
Question 36: Which virtual environments can GitHub Actions use?
- GitHub-hosted only
- Only Linux
- Only macOS
- macOS, Windows, and Ubuntu (Correct answer)
Correct answer: macOS, Windows, and Ubuntu
GitHub Actions provides a variety of virtual environments, known as runners, to execute your workflows. These include popular operating systems like Ubuntu (Linux), Windows, and macOS. This flexibility allows you to test and build your applications across different platforms, ensuring compatibility and broad coverage.
Question 37: What is a remote repository?
- A backup copy
- A template for creating branches
- A GitHub-hosted repository for collaboration (Correct answer)
- A hidden folder
Correct answer: A GitHub-hosted repository for collaboration
A remote repository is a version of your project hosted on the internet or a network, typically on platforms like GitHub. It serves as a central point for multiple collaborators to push and pull changes, facilitating teamwork and providing a shared, up-to-date version of the project. This enables distributed development.
Question 38: Who can approve a pull request in a protected branch?
- Assigned reviewers or collaborators (Correct answer)
- Any GitHub user
- Pull request author
- Only repository administrators
Correct answer: Assigned reviewers or collaborators
In a protected branch, specific rules are enforced to maintain code quality and stability. Approving a pull request typically requires designated individuals, such as assigned reviewers or collaborators with appropriate permissions, to sign off on the changes. This ensures that only vetted code is merged into critical branches, safeguarding the project's integrity.
Question 39: What should you do when troubleshooting a system architecture issue?
- Escalate everything without investigation
- Immediately restart all systems
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
- Make random changes until the problem goes away
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 40: What is the function of a Git branch?
- Display commit history
- Manage collaborators
- Track deleted files
- Separate lines of development (Correct answer)
Correct answer: Separate lines of development
Git branches allow developers to diverge from the main line of development to work on new features, bug fixes, or experiments without affecting the stable codebase. Each branch represents an independent line of work, enabling parallel development. This separation helps manage different project versions and ensures stability of the main project.
Question 41: What must an organization administrator configure to enable GitHub Copilot for all members of an organization?
- A branch protection rule
- A GitHub Actions workflow
- A Copilot Business or Enterprise subscription and seat assignment policy (Correct answer)
- A repository-level secret
Correct answer: A Copilot Business or Enterprise subscription and seat assignment policy
To enable Copilot for an organization, an admin must have a Copilot Business or Enterprise license and configure seat assignment for members.
Question 42: In GitHub Projects (Projects v2), what are 'custom fields' used for?
- Adding custom webhooks to a project
- Defining custom deployment environments
- Creating custom branch naming rules
- Extending project items with additional metadata like priority, story points, or dates (Correct answer)
Correct answer: Extending project items with additional metadata like priority, story points, or dates
Custom fields in GitHub Projects v2 let teams add metadata such as priority, effort estimates, or iteration numbers directly to project items.
Question 43: What should you do when troubleshooting a compliance standards issue?
- Immediately restart all systems
- Escalate everything without investigation
- Make random changes until the problem goes away
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 44: What should you do when troubleshooting a data management issue?
- Make random changes until the problem goes away
- Escalate everything without investigation
- Immediately restart all systems
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 45: What is GitHub Discussions primarily designed for compared to GitHub Issues?
- Discussions replace Issues entirely in modern repositories
- Discussions are only available to organization owners
- Discussions are for tracking actionable work items; Issues are for open-ended conversations
- Discussions are for open-ended conversations, Q&A, and announcements; Issues are for actionable tasks and bugs (Correct answer)
Correct answer: Discussions are for open-ended conversations, Q&A, and announcements; Issues are for actionable tasks and bugs
GitHub Discussions hosts community conversations, Q&A, and announcements that don't require a trackable work item, while Issues are reserved for actionable bugs and tasks.
Question 46: What is a common best practice before creating a pull request?
- Create a new fork
- Open an issue
- Sync with the base branch (Correct answer)
- Reset branch to origin
Correct answer: Sync with the base branch
Before creating a pull request, it's a best practice to sync your feature branch with the latest changes from the base branch (e.g., `main`). This helps identify and resolve potential merge conflicts early, ensuring your proposed changes are based on the most current version of the project. This makes the review process smoother and reduces integration issues.
Question 47: In which file types can GitHub Copilot provide inline code suggestions?
- Only files in GitHub-hosted repositories
- A wide range of programming languages including Python, JS, Ruby, and more (Correct answer)
- Only Python files
- Only JavaScript and TypeScript files
Correct answer: A wide range of programming languages including Python, JS, Ruby, and more
GitHub Copilot supports dozens of programming languages and works in any file type where code is written.
Question 48: Which approach is recommended for implementing performance monitoring changes?
- Making all changes at once without testing
- Implementing changes only during peak hours
- Following a structured change management process with testing (Correct answer)
- Skipping documentation to save time
Correct answer: Following a structured change management process with testing
A structured change management process with proper testing minimizes risk and ensures successful implementation.
Question 49: Which GitHub Actions permission block setting is required to allow a workflow to write packages to GitHub Packages?
- permissions: contents: write
- permissions: packages: write (Correct answer)
- permissions: packages: read
- permissions: deployments: write
Correct answer: permissions: packages: write
Setting permissions: packages: write in the workflow YAML grants the GITHUB_TOKEN the ability to publish packages.
Question 50: What is the fundamental principle behind compliance standards in the context of GitHub Professional Certificate?
- Ensuring reliability, security, and optimal performance (Correct answer)
- Using the most expensive solutions available
- Maximizing system complexity
- Avoiding all system changes
Correct answer: Ensuring reliability, security, and optimal performance
Compliance Standards in GitHub Professional Certificate fundamentally aims to ensure system reliability, security, and optimal performance.
Question 51: How should you document system architecture configurations?
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
- Keep all configuration details in personal memory
- Document only when asked by management
- Store documentation on individual workstations
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 52: What is GitHub Copilot Enterprise's key differentiator over Copilot Business?
- Lower cost per seat
- Support for additional IDEs
- Knowledge base integration with your organization's private repositories for context-aware suggestions (Correct answer)
- Faster suggestion latency
Correct answer: Knowledge base integration with your organization's private repositories for context-aware suggestions
Copilot Enterprise can index your organization's private repositories to provide context-aware suggestions grounded in your own internal codebase.
Question 53: What is the best practice for monitoring troubleshooting methods systems?
- Check systems manually once a month
- Implement automated monitoring with alerting thresholds (Correct answer)
- Monitor only when users report problems
- Rely on vendor notifications exclusively
Correct answer: Implement automated monitoring with alerting thresholds
Automated monitoring with properly configured alerting thresholds enables proactive identification and resolution of issues.
Question 54: What is the best practice for monitoring implementation planning systems?
- Rely on vendor notifications exclusively
- Monitor only when users report problems
- Check systems manually once a month
- Implement automated monitoring with alerting thresholds (Correct answer)
Correct answer: Implement automated monitoring with alerting thresholds
Automated monitoring with properly configured alerting thresholds enables proactive identification and resolution of issues.
Question 55: Which setting allows an organization to prevent GitHub Copilot from suggesting code that matches public GitHub repositories?
- Copilot sandbox mode
- Code scanning enforcement
- Repository visibility lock
- Public code duplication filter (Suggestions matching public code) (Correct answer)
Correct answer: Public code duplication filter (Suggestions matching public code)
The 'Suggestions matching public code' setting (duplication filter) blocks Copilot from returning suggestions that closely match publicly available GitHub code.
Question 56: What should you do when troubleshooting a implementation planning issue?
- Escalate everything without investigation
- Immediately restart all systems
- Follow a systematic approach: identify, research, test, implement, verify (Correct answer)
- Make random changes until the problem goes away
Correct answer: Follow a systematic approach: identify, research, test, implement, verify
A systematic troubleshooting approach ensures the root cause is identified and the fix is verified without creating new issues.
Question 57: What is the fundamental principle behind troubleshooting methods in the context of GitHub Professional Certificate?
- Ensuring reliability, security, and optimal performance (Correct answer)
- Avoiding all system changes
- Maximizing system complexity
- Using the most expensive solutions available
Correct answer: Ensuring reliability, security, and optimal performance
Troubleshooting Methods in GitHub Professional Certificate fundamentally aims to ensure system reliability, security, and optimal performance.
Question 58: How can you make a package in GitHub Container Registry publicly accessible without authentication?
- Add 'public: true' to the Dockerfile label
- Set the repository to public and the package becomes public automatically
- Change the package visibility to 'Public' in the package settings on GitHub (Correct answer)
- Enable anonymous access in the organization's security settings
Correct answer: Change the package visibility to 'Public' in the package settings on GitHub
You must explicitly change the package's visibility to Public in the package settings page on GitHub for it to be pulled without authentication.
Question 59: What is a repository in GitHub used for?
- Encrypting user data
- Hosting websites
- Running CI/CD pipelines
- Storing project files and version history (Correct answer)
Correct answer: Storing project files and version history
A GitHub repository serves as a central location to store all project files, including code, documentation, and assets. Crucially, it also maintains the complete version history of these files, allowing users to track changes, revert to previous states, and collaborate effectively. It's the core unit for project management on GitHub.
Question 60: Where should the .npmrc file be configured to redirect npm installs to GitHub Packages for a scoped package @myorg?
- In the project root with @myorg:registry=https://npm.pkg.github.com (Correct answer)
- In the repository's package.json under 'registries'
- In the global npm config only
- In the GitHub Actions runner environment
Correct answer: In the project root with @myorg:registry=https://npm.pkg.github.com
A .npmrc file in the project root with the scoped registry entry directs npm to use GitHub Packages for that organization's packages.
Question 61: What is the fundamental principle behind performance monitoring in the context of GitHub Professional Certificate?
- Avoiding all system changes
- Using the most expensive solutions available
- Ensuring reliability, security, and optimal performance (Correct answer)
- Maximizing system complexity
Correct answer: Ensuring reliability, security, and optimal performance
Performance Monitoring in GitHub Professional Certificate fundamentally aims to ensure system reliability, security, and optimal performance.
Question 62: How should you document troubleshooting methods configurations?
- Keep all configuration details in personal memory
- Store documentation on individual workstations
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
- Document only when asked by management
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 63: Which GitHub permission level is required for a user to delete a package version from GitHub Packages?
- Write access to the repository
- Admin access to the repository or organization (Correct answer)
- Any authenticated GitHub user
- Read access to the repository
Correct answer: Admin access to the repository or organization
Deleting package versions requires admin access to the repository or organization that owns the package.
Question 64: How do you install a NuGet package hosted on GitHub Packages in a .NET project?
- Add GitHub as a NuGet feed in Visual Studio and use the Package Manager UI only
- nuget install MyPackage --source github
- dotnet add package MyPackage --source https://nuget.pkg.github.com/OWNER/index.json (Correct answer)
- dotnet github install MyPackage
Correct answer: dotnet add package MyPackage --source https://nuget.pkg.github.com/OWNER/index.json
The dotnet add package command accepts a --source flag pointing to the GitHub Packages NuGet feed URL for the owner.
Question 65: How should you document implementation planning configurations?
- Store documentation on individual workstations
- Keep all configuration details in personal memory
- Document only when asked by management
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 66: When using GitHub Copilot in a GitHub.com pull request, what AI-powered feature can automatically summarize the changes?
- Copilot Diff Viewer
- Copilot PR Summary (Copilot pull request description generation) (Correct answer)
- Copilot Merge Assistant
- Copilot Change Log
Correct answer: Copilot PR Summary (Copilot pull request description generation)
Copilot can automatically generate a pull request summary description by analyzing the diff, saving developers time writing PR descriptions.
Question 67: Which metric best reflects the adoption and usefulness of GitHub Copilot within a development team?
- Number of Copilot seats purchased
- Suggestion acceptance rate (Correct answer)
- Number of repositories where Copilot is enabled
- Lines of code generated per day
Correct answer: Suggestion acceptance rate
The suggestion acceptance rate — the percentage of Copilot suggestions accepted by developers — is the most direct measure of how useful developers find its suggestions.
Question 68: What does the `git commit` command do?
- Records changes in the repository (Correct answer)
- Pushes changes to remote
- Saves changes to the cloud
- Deletes previous commits
Correct answer: Records changes in the repository
The `git commit` command takes the changes that have been staged (added to the staging area using `git add`) and permanently records them as a new snapshot in the repository's history. Each commit includes a unique ID and a commit message describing the changes. This creates a point to which you can revert if needed, preserving the project's evolution.
Question 69: Why are branches useful in Git?
- They help avoid pull requests
- They isolate changes for safe development (Correct answer)
- They increase merge conflicts
- They automatically deploy code
Correct answer: They isolate changes for safe development
Branches are invaluable in Git because they provide an isolated environment for developing new features or fixing bugs without impacting the main codebase. This isolation ensures that experimental or incomplete work doesn't break the stable version of the project. It promotes safe, organized development practices and allows for parallel workstreams.
Question 70: How should you document compliance standards configurations?
- Keep all configuration details in personal memory
- Document only when asked by management
- Store documentation on individual workstations
- Maintain up-to-date documentation in a centralized, accessible location (Correct answer)
Correct answer: Maintain up-to-date documentation in a centralized, accessible location
Centralized, accessible, and current documentation is essential for troubleshooting, disaster recovery, and knowledge sharing.
Question 71: What GitHub Actions step snippet correctly authenticates Docker with GHCR using the built-in token?
- run: gh auth configure-docker ghcr.io
- uses: docker/login-action@v3 with registry: ghcr.io, username: ${{ github.actor }}, password: ${{ secrets.GITHUB_TOKEN }} (Correct answer)
- run: docker login ghcr.io --username actions --password auto
- uses: actions/setup-docker@v1 with token: ${{ secrets.GITHUB_TOKEN }}
Correct answer: uses: docker/login-action@v3 with registry: ghcr.io, username: ${{ github.actor }}, password: ${{ secrets.GITHUB_TOKEN }}
The docker/login-action with registry ghcr.io, github.actor as username, and GITHUB_TOKEN as password is the standard approach for GHCR authentication in Actions.
Question 72: What security consideration is most important in data management?
- Implementing the principle of least privilege and defense in depth (Correct answer)
- Disabling logging to improve performance
- Using a single strong password for all systems
- Security is not relevant to this area
Correct answer: Implementing the principle of least privilege and defense in depth
The principle of least privilege combined with defense in depth provides layered security that protects against various attack vectors.
Question 73: What is the main purpose of a pull request in GitHub?
- To propose and review changes before merging (Correct answer)
- To push changes to remote
- To clone a repository
- To delete outdated code
Correct answer: To propose and review changes before merging
A pull request (PR) is a mechanism in GitHub for developers to propose changes to a repository and request that maintainers review and merge them. It facilitates code review, discussion, and collaboration, ensuring code quality and preventing errors before integrating new features into the main branch. This is crucial for maintaining project integrity.
Question 74: What is the best practice for monitoring data management systems?
- Monitor only when users report problems
- Implement automated monitoring with alerting thresholds (Correct answer)
- Check systems manually once a month
- Rely on vendor notifications exclusively
Correct answer: Implement automated monitoring with alerting thresholds
Automated monitoring with properly configured alerting thresholds enables proactive identification and resolution of issues.
Question 75: Which approach is recommended for implementing network configuration changes?
- Implementing changes only during peak hours
- Following a structured change management process with testing (Correct answer)
- Skipping documentation to save time
- Making all changes at once without testing
Correct answer: Following a structured change management process with testing
A structured change management process with proper testing minimizes risk and ensures successful implementation.
Question 76: What is a GitHub Project's 'Iteration' field used for?
- Scheduling automated reminders for issue assignees
- Grouping work into fixed time periods (sprints) for agile planning (Correct answer)
- Counting the number of times an issue has been reopened
- Tracking the version of the codebase associated with an issue
Correct answer: Grouping work into fixed time periods (sprints) for agile planning
The Iteration field in GitHub Projects lets teams assign items to specific sprints or time-boxed cycles, enabling agile-style sprint planning and tracking.
Question 77: What does `git merge` do?
- Deletes a branch
- Creates a new repository
- Stages untracked files
- Combines changes from one branch into another (Correct answer)
Correct answer: Combines changes from one branch into another
The `git merge` command integrates changes from a specified branch into your current branch. It combines the commit histories of two branches, creating a new merge commit that incorporates all the changes from both lines of development. This is how features developed in isolation are brought back into the main project.
GitHub Foundations Certification (GH-900)
The GitHub Foundations certification validates foundational knowledge of GitHub including Git basics, collaboration features, modern development workflows with Actions and Copilot, project management, security administration, and open source community practices. It is delivered via Pearson VUE as a proctored assessment.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds