Bird
Raised Fist0
Gitdevops~10 mins

Pull request process in Git - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to create a new branch named 'feature' from the current branch.

Git
git checkout -b [1]
Drag options to blanks, or click blank then click option'
Afeature
Bmain
Cmaster
Ddevelop
Attempts:
3 left
💡 Hint
Common Mistakes
Using an existing branch name instead of a new one.
Forgetting to use the '-b' flag to create a new branch.
2fill in blank
medium

Complete the command to push the 'feature' branch to the remote repository.

Git
git push origin [1]
Drag options to blanks, or click blank then click option'
Afeature
Bdevelop
Cmaster
Dmain
Attempts:
3 left
💡 Hint
Common Mistakes
Pushing the wrong branch name.
Forgetting to specify the remote repository.
3fill in blank
hard

Fix the error in the command to fetch the latest changes from the remote repository.

Git
git [1] origin
Drag options to blanks, or click blank then click option'
Apull
Bpush
Cclone
Dfetch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'git push' which uploads changes instead of downloading.
Using 'git clone' which creates a new copy of the repository.
4fill in blank
hard

Fill both blanks to create a pull request title and description using git command line.

Git
git request-pull [1] [2]
Drag options to blanks, or click blank then click option'
Aorigin/feature
Borigin
Chttps://github.com/user/repo.git
Dfeature
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the branch name and repository URL.
Using remote name instead of repository URL.
5fill in blank
hard

Fill all three blanks to merge the 'feature' branch into 'main' and delete the 'feature' branch locally.

Git
git checkout [1] && git merge [2] && git branch -d [3]
Drag options to blanks, or click blank then click option'
Afeature
Bmain
Ddevelop
Attempts:
3 left
💡 Hint
Common Mistakes
Merging into the wrong branch.
Deleting the wrong branch.
Not switching branches before merging.

Practice

(1/5)
1. What is the main purpose of a pull request in Git?
easy
A. To ask your team to review and merge your code changes
B. To delete a branch from the repository
C. To create a new branch locally
D. To clone a repository to your computer

Solution

  1. Step 1: Understand the role of a pull request

    A pull request is a request to merge code changes and get feedback from the team.
  2. Step 2: Identify the correct purpose

    Options B, C, and D describe other Git actions unrelated to pull requests.
  3. Final Answer:

    To ask your team to review and merge your code changes -> Option A
  4. Quick Check:

    Pull request = code review request [OK]
Hint: Pull request means asking for code review and merge [OK]
Common Mistakes:
  • Confusing pull request with branch creation
  • Thinking pull request deletes branches
  • Mixing pull request with cloning repositories
2. Which Git command is used to upload your local branch to the remote repository before creating a pull request?
easy
A. git clone origin branch-name
B. git pull origin branch-name
C. git push origin branch-name
D. git fetch origin branch-name

Solution

  1. Step 1: Identify the command to upload local changes

    The git push command sends local commits to the remote repository.
  2. Step 2: Match the correct syntax

    git push origin branch-name uploads the specified branch to the remote named origin.
  3. Final Answer:

    git push origin branch-name -> Option C
  4. Quick Check:

    Push = upload branch to remote [OK]
Hint: Push uploads your branch to remote before pull request [OK]
Common Mistakes:
  • Using git clone instead of git push
  • Confusing git pull with git push
  • Using git fetch which only downloads data
3. After pushing your branch and creating a pull request, what is the expected output when you run git status on your local branch?
medium
A. On branch feature-xyz nothing to commit, working tree clean
B. On branch feature-xyz your branch is ahead of 'origin/feature-xyz' by 1 commit
C. On branch main nothing to commit, working tree clean
D. On branch feature-xyz You have unmerged paths.

Solution

  1. Step 1: Understand the state after pushing and creating pull request

    After pushing, local and remote branches are synced, so no new commits locally.
  2. Step 2: Interpret git status output

    "nothing to commit, working tree clean" means no changes locally; branch is up to date.
  3. Final Answer:

    On branch feature-xyz nothing to commit, working tree clean -> Option A
  4. Quick Check:

    Clean status means local branch matches remote [OK]
Hint: Clean git status means branch is synced after push [OK]
Common Mistakes:
  • Thinking branch is ahead after push
  • Confusing branch names
  • Expecting unmerged paths without conflicts
4. You created a pull request but forgot to push your latest commit. What error will you most likely see when trying to create the pull request?
medium
A. Pull request created successfully with all commits
B. Error: No commits found on branch to compare
C. Merge conflict detected automatically
D. Remote branch does not exist

Solution

  1. Step 1: Understand the pull request creation process

    A pull request compares your remote branch with the base branch.
  2. Step 2: Identify the error when branch is not pushed

    If you forget to push, the remote branch does not exist, causing an error.
  3. Final Answer:

    Remote branch does not exist -> Option D
  4. Quick Check:

    Pull request needs remote branch [OK]
Hint: Push branch first or remote branch won't exist [OK]
Common Mistakes:
  • Assuming pull request works without pushing
  • Expecting merge conflict before push
  • Ignoring remote branch creation step
5. You want to ensure your pull request is merged only after at least two team members approve it. Which GitHub feature should you configure?
hard
A. Enable auto-merge without reviews
B. Branch protection rules with required reviews set to 2
C. Use git rebase to combine commits
D. Create a new branch for each reviewer

Solution

  1. Step 1: Identify how to enforce review requirements

    GitHub branch protection rules allow setting required number of reviewers before merge.
  2. Step 2: Match the feature to the requirement

    Setting required reviews to 2 ensures at least two approvals before merging.
  3. Final Answer:

    Branch protection rules with required reviews set to 2 -> Option B
  4. Quick Check:

    Branch protection = enforce review count [OK]
Hint: Use branch protection rules to require reviews [OK]
Common Mistakes:
  • Confusing auto-merge with review enforcement
  • Thinking git rebase controls reviews
  • Creating branches per reviewer is unnecessary