Bird
Raised Fist0
Gitdevops~10 mins

SHA-1 hashing concept in Git - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to show the SHA-1 hash of a file named example.txt.

Git
git hash-object [1]
Drag options to blanks, or click blank then click option'
Aexample.txt
Bcommit
Cinit
Dstatus
Attempts:
3 left
💡 Hint
Common Mistakes
Using git commands unrelated to hashing like 'commit' or 'status'.
Forgetting to specify the file name.
2fill in blank
medium

Complete the command to create a new Git object from the file data.txt and print its SHA-1 hash.

Git
git hash-object -[1] data.txt
Drag options to blanks, or click blank then click option'
Ac
Br
Cw
Dm
Attempts:
3 left
💡 Hint
Common Mistakes
Using -r which is not a valid option here.
Using -c or -m which are unrelated.
3fill in blank
hard

Fix the error in the command to get the SHA-1 hash of file.txt by filling the blank.

Git
git hash-object [1] file.txt
Drag options to blanks, or click blank then click option'
A-r
B-w
C--hash
D--stdin
Attempts:
3 left
💡 Hint
Common Mistakes
Using -r which is invalid here.
Using --stdin which expects input from standard input.
4fill in blank
hard

Fill both blanks to create a SHA-1 hash of README.md and store it in the Git database.

Git
git hash-object [1] [2]
Drag options to blanks, or click blank then click option'
A-w
BREADME.md
C-r
Dfile.txt
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong file names like file.txt.
Using -r instead of -w.
5fill in blank
hard

Fill all three blanks to create a SHA-1 hash of script.sh, write it to the Git database, and then display the hash.

Git
hash=$([1] [2] [3]) && echo $hash
Drag options to blanks, or click blank then click option'
Agit hash-object
B-w
Cscript.sh
D-r
Attempts:
3 left
💡 Hint
Common Mistakes
Using -r instead of -w.
Forgetting to specify the file name.

Practice

(1/5)
1. What does the SHA-1 hash in Git uniquely identify?
easy
A. A specific commit or file content
B. The username of the committer
C. The branch name
D. The date and time of the commit

Solution

  1. Step 1: Understand SHA-1 purpose in Git

    SHA-1 generates a unique code based on the content of files or commits.
  2. Step 2: Identify what SHA-1 represents

    It uniquely identifies the exact content or commit, not metadata like username or branch.
  3. Final Answer:

    A specific commit or file content -> Option A
  4. Quick Check:

    SHA-1 = unique content ID [OK]
Hint: SHA-1 hashes content, not user or branch info [OK]
Common Mistakes:
  • Thinking SHA-1 identifies user info
  • Confusing SHA-1 with branch names
  • Assuming SHA-1 stores commit date
2. Which command correctly shows the SHA-1 hash of the latest commit in a Git repository?
easy
A. git log -1 --format=%H
B. git sha1sum HEAD
C. git show --hash
D. git commit --hash

Solution

  1. Step 1: Recall Git command to show commit hash

    The command 'git log -1 --format=%H' prints the full SHA-1 hash of the latest commit.
  2. Step 2: Check other options for correctness

    The other options are invalid or do not exist in Git syntax.
  3. Final Answer:

    git log -1 --format=%H -> Option A
  4. Quick Check:

    Correct Git syntax for latest commit SHA-1 is git log -1 --format=%H [OK]
Hint: Use git log with format %H for full commit hash [OK]
Common Mistakes:
  • Using non-existent git commands
  • Confusing commit message commands with hash commands
  • Trying to use sha1sum directly on HEAD
3. Given the command git hash-object README.md, what is the expected output?
medium
A. An error because README.md is not a commit
B. The size of README.md in bytes
C. The last commit hash that modified README.md
D. The SHA-1 hash of the README.md file content

Solution

  1. Step 1: Understand git hash-object command

    This command computes and outputs the SHA-1 hash of the file content given (README.md here).
  2. Step 2: Verify output meaning

    It does not show file size, commit hashes, or errors for valid files.
  3. Final Answer:

    The SHA-1 hash of the README.md file content -> Option D
  4. Quick Check:

    git hash-object outputs file content SHA-1 [OK]
Hint: git hash-object hashes file content, not commits [OK]
Common Mistakes:
  • Expecting commit hash instead of file hash
  • Thinking it outputs file size
  • Assuming it errors on normal files
4. You run git hash-object -w file.txt but get an error. What is the most likely cause?
medium
A. The -w option is not valid for git hash-object
B. The file.txt does not exist in the current directory
C. You need to commit before hashing
D. The file.txt is already tracked by Git

Solution

  1. Step 1: Understand git hash-object -w usage

    The -w option writes the object to Git's object database; it requires the file to exist.
  2. Step 2: Identify cause of error

    If file.txt does not exist, the command errors. Other options are incorrect because -w is valid, committing is not required, and tracking status doesn't cause this error.
  3. Final Answer:

    The file.txt does not exist in the current directory -> Option B
  4. Quick Check:

    Missing file causes git hash-object -w error [OK]
Hint: Check file existence before git hash-object -w [OK]
Common Mistakes:
  • Thinking -w is invalid option
  • Assuming commit is required before hashing
  • Believing tracked files cause this error
5. You want to verify if a file's content matches a specific Git object SHA-1 hash. Which sequence of commands correctly helps you do this?
hard
A. Run git show SHA1_HASH and compare with file.txt content manually
B. Run git diff SHA1_HASH file.txt to see differences
C. Run git hash-object file.txt and compare output with the SHA-1 hash
D. Run git cat-file -p file.txt to get the hash

Solution

  1. Step 1: Understand how to get file's SHA-1 hash

    Use 'git hash-object file.txt' to compute the SHA-1 hash of the file content.
  2. Step 2: Compare computed hash with given SHA-1

    If the hashes match, the file content matches the Git object.
  3. Final Answer:

    Run git hash-object file.txt and compare output with the SHA-1 hash -> Option C
  4. Quick Check:

    Compare file hash with SHA-1 using git hash-object [OK]
Hint: Use git hash-object to get file hash for comparison [OK]
Common Mistakes:
  • Using git show to compare file content directly
  • Trying git diff with SHA-1 hash and file
  • Using git cat-file incorrectly on files
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard