Bird
Raised Fist0
Gitdevops~20 mins

git log --oneline and --graph - Practice Problems & Coding Challenges

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 Log Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Understanding git log --oneline output
What is the output format of the command git log --oneline?
Git
git log --oneline
AA graphical tree of commits with branch and merge lines.
BA list of commits showing only the commit hash and the commit message in a single line per commit.
CA list of files changed in the last commit.
DA detailed list of commits showing author, date, and full commit message.
Attempts:
2 left
💡 Hint
Think about what 'oneline' means for the commit display.
💻 Command Output
intermediate
1:30remaining
Effect of --graph option in git log
What does the --graph option add to the output of git log?
Git
git log --graph
AIt adds a text-based graphical representation of the commit history showing branches and merges.
BIt outputs the commit history in JSON format.
CIt filters commits to only those that changed files in the current directory.
DIt shows only the commit hashes without messages.
Attempts:
2 left
💡 Hint
Think about how git visually shows branching.
🔀 Workflow
advanced
2:00remaining
Combining --oneline and --graph for commit history
Which command correctly shows a compact, graphical commit history with one line per commit?
Agit log --oneline --patch
Bgit log --graph --stat
Cgit log --oneline --graph
Dgit log --graph --name-only
Attempts:
2 left
💡 Hint
You want both a graph and a short summary per commit.
Troubleshoot
advanced
2:00remaining
Why does git log --graph output look misaligned?
You run git log --oneline --graph but the graph lines appear misaligned or broken in your terminal. What is the most likely cause?
AYour terminal font does not support the characters used for the graph lines.
BYou forgot to add the <code>--decorate</code> option.
CThe repository has no commits.
DYou ran the command outside a git repository.
Attempts:
2 left
💡 Hint
Think about how the graph is drawn using special characters.
🧠 Conceptual
expert
2:30remaining
Understanding the difference between --oneline and --graph
Which statement best describes the difference between git log --oneline and git log --graph?
A<code>--oneline</code> shows only branch names; <code>--graph</code> shows commit messages.
B<code>--oneline</code> filters commits by author; <code>--graph</code> filters commits by date.
C<code>--oneline</code> shows a graphical tree; <code>--graph</code> shows commit hashes only.
D<code>--oneline</code> shortens commit info to one line; <code>--graph</code> adds a visual branch structure but does not shorten commit info.
Attempts:
2 left
💡 Hint
Consider what each option changes in the commit log output.

Practice

(1/5)
1. What does the git log --oneline command do?
easy
A. Displays the full commit message for each commit
B. Shows each commit in a short, one-line format
C. Shows only the commit hashes without messages
D. Lists all branches in the repository

Solution

  1. Step 1: Understand the purpose of --oneline

    The --oneline option shortens each commit to one line showing the commit hash and a brief message.
  2. Step 2: Compare options

    Shows each commit in a short, one-line format correctly describes this behavior. Other options describe different commands or incorrect outputs.
  3. Final Answer:

    Shows each commit in a short, one-line format -> Option B
  4. Quick Check:

    --oneline = short commit summary [OK]
Hint: Remember: --oneline means one line per commit [OK]
Common Mistakes:
  • Thinking it shows full commit messages
  • Confusing it with branch listing
  • Assuming it hides commit messages
2. Which of the following is the correct syntax to show a graphical commit history with short commit lines?
easy
A. git log --oneline --graph
B. git log --graph --one-line
C. git log --graph --short
D. git log --one-line --graph

Solution

  1. Step 1: Identify correct options for short and graph

    The correct options are --oneline for short commits and --graph for graphical display.
  2. Step 2: Check syntax correctness

    git log --oneline --graph uses the correct flags. git log --graph --one-line, git log --graph --short, and git log --one-line --graph use invalid flags.
  3. Final Answer:

    git log --oneline --graph -> Option A
  4. Quick Check:

    Use --oneline and --graph together [OK]
Hint: Use --oneline and --graph exactly as flags [OK]
Common Mistakes:
  • Using --one-line instead of --oneline
  • Using --short which is invalid
  • Reversing flag order
3. Given this command: git log --oneline --graph, what will the output show?
medium
A. A graphical tree of commits with short commit messages
B. A list of commits with full messages and no branch structure
C. Only the commit hashes without messages or graph
D. A list of branches and tags in the repository

Solution

  1. Step 1: Understand combined flags effect

    The --oneline flag shortens commit info, and --graph adds a visual graph showing branches and merges.
  2. Step 2: Match output description

    A graphical tree of commits with short commit messages correctly describes a graphical tree with short commit lines. Other options describe outputs missing graph or messages or unrelated info.
  3. Final Answer:

    A graphical tree of commits with short commit messages -> Option A
  4. Quick Check:

    --graph + --oneline = graph with short commits [OK]
Hint: Graph shows branches; oneline shortens commits [OK]
Common Mistakes:
  • Expecting full commit messages
  • Thinking graph shows branches only without commits
  • Confusing with branch or tag listing
4. You ran git log --oneline --graph but see no graph lines. What is the likely cause?
medium
A. Your terminal does not support Unicode characters
B. You ran the command outside a git repository
C. You have only one commit with no branches or merges
D. You forgot to add the --decorate flag

Solution

  1. Step 1: Understand when graph lines appear

    The graph lines show branch and merge structure. If there is only one commit and no branches, no graph lines appear.
  2. Step 2: Evaluate other options

    Your terminal does not support Unicode characters is unlikely because graph uses simple characters. You forgot to add the --decorate flag is unrelated; --decorate adds refs, not graph lines. You ran the command outside a git repository would cause an error, not empty graph.
  3. Final Answer:

    You have only one commit with no branches or merges -> Option C
  4. Quick Check:

    No branches = no graph lines [OK]
Hint: Graph needs multiple commits with branches [OK]
Common Mistakes:
  • Assuming --decorate controls graph lines
  • Thinking terminal Unicode breaks graph
  • Running command outside repo causes error, not empty graph
5. You want to visualize a complex branch history with merges and short commit messages. Which command best helps you?
hard
A. git log --graph --patch
B. git log --oneline --decorate
C. git log --stat --oneline
D. git log --oneline --graph --all

Solution

  1. Step 1: Identify flags for visualization and completeness

    --graph shows branch structure, --oneline shortens commits, and --all includes all branches.
  2. Step 2: Compare options

    git log --oneline --graph --all combines all needed flags for a full, clear view. git log --oneline --decorate lacks graph, so no branch lines. git log --graph --patch shows patches, which is verbose. git log --stat --oneline shows stats, not graph.
  3. Final Answer:

    git log --oneline --graph --all -> Option D
  4. Quick Check:

    Use --graph, --oneline, and --all for full branch view [OK]
Hint: Add --all to see all branches graphically [OK]
Common Mistakes:
  • Omitting --all to see all branches
  • Using --patch which shows code diffs, not graph
  • Confusing --decorate with graph visualization