Bird
Raised Fist0
Gitdevops~20 mins

What is Git - Practice Questions & Exercises

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
Challenge - 5 Problems
🎖️
Git Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
What is the primary purpose of Git?

Imagine you are working on a group project where everyone writes parts of a story. What does Git help you do?

ATrack changes in files and collaborate with others
BEdit images and videos
CSend emails to team members
DCreate presentations and slides
Attempts:
2 left
💡 Hint

Think about how you keep versions of your work and share with friends.

💻 Command Output
intermediate
2:00remaining
What does the command git status show?

You just changed some files in your project folder. You run git status. What information will you see?

Git
git status
AA list of all files in the folder
BList of changed files and their status (staged, unstaged, untracked)
CThe last commit message only
DThe current date and time
Attempts:
2 left
💡 Hint

Think about how you check what files have been changed before saving them.

🔀 Workflow
advanced
2:30remaining
What is the correct order of Git commands to save changes to a remote repository?

You made changes to your project and want to save them online so others can see. Which order of commands do you use?

A1,2,3
B2,1,3
C3,1,2
D1,3,2
Attempts:
2 left
💡 Hint

First prepare files, then save locally, then send online.

Troubleshoot
advanced
2:00remaining
What error occurs if you try to push without pulling first?

You run git push origin main but get an error. The remote has newer commits that you haven't pulled. What error message will Git show?

Aerror: failed to push because there are no commits to push
Berror: no changes added to commit
Cerror: failed to push some refs because the tip of your current branch is behind
Derror: remote repository not found
Attempts:
2 left
💡 Hint

Think about what happens if your local branch is not updated properly.

Best Practice
expert
3:00remaining
Which practice helps avoid conflicts when multiple people work on the same Git branch?

When many people edit the same files, conflicts can happen. What is the best way to reduce conflicts?

AAvoid using branches and commit directly to main
BWork offline for long periods before pushing
CDelete the remote branch and create a new one each time
DPull changes from remote often and commit small, frequent updates
Attempts:
2 left
💡 Hint

Think about how to keep your work updated with others' changes.

Practice

(1/5)
1. What is the main purpose of Git?
easy
A. To create websites from scratch
B. To edit images and videos
C. To save and track changes in files over time
D. To manage computer hardware settings

Solution

  1. Step 1: Understand Git's role

    Git is a tool designed to save and track changes in files, especially code files.
  2. Step 2: Compare options

    Options B, C, and D describe tasks unrelated to Git's main function.
  3. Final Answer:

    To save and track changes in files over time -> Option C
  4. Quick Check:

    Git = tracks file changes [OK]
Hint: Git tracks file changes, not edits or hardware [OK]
Common Mistakes:
  • Confusing Git with editing software
  • Thinking Git manages hardware
  • Believing Git builds websites
2. Which of the following is the correct command to start a new Git repository?
easy
A. git start
B. git init
C. git create
D. git begin

Solution

  1. Step 1: Recall Git commands

    The command to create a new Git repository is git init.
  2. Step 2: Check other options

    Commands like git start, git create, and git begin do not exist in Git.
  3. Final Answer:

    git init -> Option B
  4. Quick Check:

    Initialize repo = git init [OK]
Hint: Use 'git init' to start a repo, others are invalid [OK]
Common Mistakes:
  • Using 'git start' instead of 'git init'
  • Confusing command names
  • Trying commands that don't exist
3. What will be the output of the command git status right after running git init in a new folder?
medium
A. No commits yet, nothing to commit, working tree clean
B. Error: repository not found
C. All files are staged for commit
D. Untracked files present, please add them

Solution

  1. Step 1: Understand 'git init' effect

    Running git init creates an empty Git repository with no commits.
  2. Step 2: Check 'git status' output

    Right after init, git status shows "No commits yet" and "working tree clean" because no files are added or changed.
  3. Final Answer:

    No commits yet, nothing to commit, working tree clean -> Option A
  4. Quick Check:

    git status after init = no commits, clean [OK]
Hint: After init, status shows no commits and clean tree [OK]
Common Mistakes:
  • Expecting errors after init
  • Thinking files are staged automatically
  • Assuming untracked files message appears immediately
4. You ran git add file.txt but forgot to commit. What will git status show?
medium
A. Changes to be committed: new file: file.txt
B. No changes detected
C. Untracked files: file.txt
D. Error: file.txt not found

Solution

  1. Step 1: Understand 'git add' effect

    Running git add file.txt stages the file for commit but does not commit it yet.
  2. Step 2: Check 'git status' after add

    git status will show the file under "Changes to be committed" because it is staged.
  3. Final Answer:

    Changes to be committed: new file: file.txt -> Option A
  4. Quick Check:

    git add stages files, status shows staged changes [OK]
Hint: Added files show as staged, not committed yet [OK]
Common Mistakes:
  • Thinking add commits files
  • Expecting untracked files after add
  • Assuming no changes after add
5. You want to save your changes permanently in Git. Which sequence of commands should you run?
hard
A. git init then git push
B. git commit -m "message" then git add .
C. git status then git push
D. git add . then git commit -m "message"

Solution

  1. Step 1: Stage changes with 'git add'

    You first use git add . to stage all changes in the current folder.
  2. Step 2: Commit staged changes

    Then run git commit -m "message" to save the staged changes permanently with a message.
  3. Final Answer:

    git add . then git commit -m "message" -> Option D
  4. Quick Check:

    Stage then commit = add then commit [OK]
Hint: Always add before commit to save changes [OK]
Common Mistakes:
  • Committing before adding files
  • Using push without commit
  • Initializing repo unnecessarily