A _______ branch is typically used for preparing, polishing, and finalizing a release.

  • release
  • feature
  • master
  • hotfix
A release branch is created to prepare, polish, and finalize a release. It is used to stabilize the code and ensure that it is ready for production before merging it into 'master.'

A developer needs to apply a hotfix from the master branch to a release branch without merging other changes. What Git feature should they use?

  • Cherry-pick
  • Merge
  • Rebase
  • Clone
The correct option is Cherry-pick. This Git feature allows a developer to select a specific commit and apply it to another branch, making it ideal for applying isolated changes such as hotfixes. Unlike merge or rebase, cherry-pick targets a single commit.

To maintain a clean Git history when transitioning, it's recommended to use git ________ for combining multiple commits.

  • squash
  • merge
  • amend
  • rebase
git rebase is commonly used for combining multiple commits into a more logical and cleaner history. It helps in presenting a linear and organized history in the project log.

Your project has a dependency on a large external library. What Git feature would be most efficient to manage this dependency?

  • Submodules
  • Branching
  • Forking
  • Merging
Git Submodules allow the team to include and manage external repositories within their own project. It's an efficient way to handle dependencies without including all the external code directly into the main repository.

How does GitHub Actions integrate with Git workflows for CI/CD?

  • Triggered by events in the repository
  • Automated code deployment
  • Version control system
  • Code review process
GitHub Actions are triggered by events such as pushes to the repository. It is commonly used for automating CI/CD pipelines, which includes tasks like running tests and deploying code. Understanding these integrations is crucial for efficient CI/CD processes in a Git-based workflow.

What is the recommended approach to resolving complex merge conflicts in a collaborative project?

  • Manual editing of files
  • git merge --abort
  • Automatic merging
  • git mergetool
The recommended approach is manual editing of files. This allows developers to carefully review and choose how to merge conflicting changes, ensuring a more accurate and context-aware resolution.

In a large project, how does the use of Git influence the team's ability to adapt to changes rapidly?

  • Enables easy rollbacks
  • Reduces collaboration challenges
  • Enhances code readability
  • Minimizes the need for testing
Git enables easy rollbacks in large projects, allowing teams to quickly adapt to changes. With version control, changes can be tracked, and if necessary, the project can be reverted to a previous state. This flexibility promotes experimentation and innovation while minimizing the fear of irreversible errors, contributing to the team's ability to adapt rapidly.

Which Git feature is essential for managing large-scale projects in an enterprise environment?

  • Git Submodules
  • Git Hooks
  • Git LFS (Large File Storage)
  • Git Stash
Git LFS is crucial for managing large-scale projects in an enterprise environment. It allows efficient handling of large binary files by storing them outside the regular Git repository, preventing repository bloat and improving performance.

A team is working on a large project using Git. They need to ensure that their feature development does not interfere with the stable main branch. What Git feature should they use?

  • Git Forks
  • Git Stash
  • Git Branches
  • Git Clone
In this scenario, the team should use Git Branches to create a separate branch for their feature development. This allows them to work on their feature without affecting the stable main branch.

In the context of large-scale collaborative projects, what is a key advantage of using the Forking workflow over Gitflow?

  • Better support for feature branching
  • Simplicity and ease of use
  • Enhanced collaboration and code review capabilities
  • Strict control over the repository
The Forking workflow allows for a more decentralized and parallel development approach. Each contributor works in their own fork, making it easier to manage contributions and conduct code reviews before merging changes. This can be advantageous in large, distributed teams where collaboration is crucial.