Bird
Raised Fist0
Gitdevops~5 mins

Credential storage options in Git - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is the purpose of credential storage in Git?
Credential storage in Git saves your username and password so you don't have to enter them every time you interact with a remote repository.
Click to reveal answer
beginner
Name one way Git can store credentials securely on your computer.
Git can use a credential helper like 'git-credential-cache' or 'git-credential-store' to save credentials temporarily or permanently.
Click to reveal answer
intermediate
What does the 'git-credential-cache' helper do?
It stores your credentials in memory for a short time (default 15 minutes), so you don't have to re-enter them during that period.
Click to reveal answer
intermediate
How does 'git-credential-store' differ from 'git-credential-cache'?
'git-credential-store' saves your credentials permanently in a plain text file on disk, while 'git-credential-cache' keeps them temporarily in memory.
Click to reveal answer
intermediate
What is a secure way to store Git credentials on Windows?
Using the 'Git Credential Manager' which integrates with Windows Credential Manager to store credentials securely.
Click to reveal answer
Which Git command sets the credential helper to cache credentials temporarily?
Agit config --global credential.helper cache
Bgit config --global credential.helper store
Cgit config --global credential.helper manager
Dgit config --global credential.helper none
Where does 'git-credential-store' save your credentials?
AIn a plain text file on disk
BIn memory for 15 minutes
CIn an encrypted system keychain
DIt does not save credentials
What is the risk of using 'git-credential-store'?
ACredentials are lost after reboot
BCredentials are stored in plain text and can be read by others
CIt requires internet connection
DIt only works on Linux
Which credential helper is recommended for secure storage on Windows?
Agit-credential-cache
Bgit-credential-store
Cgit-credential-none
DGit Credential Manager
How can you disable credential caching in Git?
Agit config --global credential.helper cache
Bgit config --global credential.helper store
Cgit config --global credential.helper ''
Dgit config --global credential.helper manager
Explain the differences between 'git-credential-cache' and 'git-credential-store'.
Think about how long credentials are saved and where.
You got /4 concepts.
    Describe how you would securely store Git credentials on a Windows machine.
    Consider Windows built-in secure storage.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Git credential helper stores your password temporarily in memory for a limited time?
      easy
      A. store
      B. manager-core
      C. osxkeychain
      D. cache

      Solution

      1. Step 1: Understand credential helper types

        Git offers different helpers: cache stores credentials temporarily in memory, store saves them permanently in plain text, and platform helpers like osxkeychain or manager-core store securely.
      2. Step 2: Identify temporary storage helper

        The cache helper keeps credentials in memory for a short time (default 15 minutes), so you don't have to retype passwords repeatedly during that period.
      3. Final Answer:

        cache -> Option D
      4. Quick Check:

        Temporary credential storage = cache [OK]
      Hint: Cache means temporary memory storage for credentials [OK]
      Common Mistakes:
      • Confusing 'store' as temporary storage
      • Thinking 'osxkeychain' is temporary
      • Assuming 'manager-core' caches credentials
      2. Which command correctly sets Git to use the credential helper that saves passwords permanently in plain text?
      easy
      A. git config --global credential.helper store
      B. git config --global credential.helper cache
      C. git config --global credential.helper osxkeychain
      D. git config --global credential.helper manager-core

      Solution

      1. Step 1: Recall command syntax for setting credential helper

        The command to set a credential helper globally is git config --global credential.helper <helper-name>.
      2. Step 2: Identify helper for permanent plain text storage

        The store helper saves credentials permanently in plain text on disk, so the correct command is git config --global credential.helper store.
      3. Final Answer:

        git config --global credential.helper store -> Option A
      4. Quick Check:

        Permanent plain text storage uses 'store' helper [OK]
      Hint: Use 'store' helper for permanent plain text saving [OK]
      Common Mistakes:
      • Using 'cache' instead of 'store' for permanent saving
      • Confusing platform helpers with plain text storage
      • Missing the --global flag
      3. What will be the output of the command git config --get credential.helper after running git config --global credential.helper cache?
      medium
      A. store
      B. cache
      C. osxkeychain
      D. manager-core

      Solution

      1. Step 1: Understand the effect of setting credential helper globally

        Running git config --global credential.helper cache sets the credential helper to cache in the global Git config.
      2. Step 2: Check what git config --get credential.helper returns

        This command reads the current credential helper setting, which will be cache after the previous command.
      3. Final Answer:

        cache -> Option B
      4. Quick Check:

        Get helper after setting cache = cache [OK]
      Hint: Get command shows current helper exactly as set [OK]
      Common Mistakes:
      • Expecting output to be 'store' or platform helper
      • Confusing local and global config scopes
      • Assuming no output if helper is set
      4. You set your Git credential helper with git config --global credential.helper store, but your password is still asked every time. What is the most likely cause?
      medium
      A. The credential helper cache is overriding store
      B. The platform helper must be used instead of store
      C. The stored credentials file is missing or unreadable
      D. You need to restart Git after setting the helper

      Solution

      1. Step 1: Understand how 'store' helper works

        The 'store' helper saves credentials in a plain text file (usually ~/.git-credentials). If this file is missing or unreadable, Git cannot use stored credentials.
      2. Step 2: Identify why password prompts continue

        If the credentials file is missing or has wrong permissions, Git will ask for the password every time despite the helper setting.
      3. Final Answer:

        The stored credentials file is missing or unreadable -> Option C
      4. Quick Check:

        Missing credentials file causes repeated password prompts [OK]
      Hint: Check if credentials file exists and is readable [OK]
      Common Mistakes:
      • Thinking cache overrides store automatically
      • Believing Git needs restart after config change
      • Assuming platform helpers are mandatory
      5. You want to securely store Git credentials on Windows without typing your password every time. Which credential helper should you configure?
      hard
      A. manager-core
      B. store
      C. cache
      D. osxkeychain

      Solution

      1. Step 1: Identify platform-specific secure helpers

        On Windows, the recommended secure credential helper is manager-core, which integrates with Windows Credential Manager.
      2. Step 2: Compare with other helpers

        cache is temporary, store saves plain text, and osxkeychain is for macOS, so they are not suitable for Windows secure storage.
      3. Final Answer:

        manager-core -> Option A
      4. Quick Check:

        Windows secure storage uses 'manager-core' helper [OK]
      Hint: Use 'manager-core' for secure Windows credential storage [OK]
      Common Mistakes:
      • Choosing 'store' which is insecure
      • Using 'osxkeychain' on Windows
      • Expecting 'cache' to be secure and permanent