Bird
Raised Fist0
Gitdevops~5 mins

Cloning a repository with git clone - 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 does the command git clone do?

The git clone command copies a remote repository to your local machine, creating a new folder with all the project files and history.

Click to reveal answer
beginner
How do you clone a repository from GitHub using git clone?

Use git clone <repository-url>. For example: git clone https://github.com/user/repo.git

Click to reveal answer
beginner
What happens if you run git clone without specifying a folder name?

Git creates a new folder named after the repository by default and puts all files there.

Click to reveal answer
intermediate
How can you clone a repository into a folder with a custom name?

Use git clone <repository-url> <folder-name>. This clones the repo into the folder you specify.

Click to reveal answer
intermediate
What is the difference between cloning with HTTPS and SSH URLs?

HTTPS URLs require username/password or token for access. SSH URLs use keys for secure access without typing passwords each time.

Click to reveal answer
What does git clone https://github.com/user/repo.git do?
ADeletes the remote repository
BCopies the remote repository to your local machine
CUploads your local files to GitHub
DCreates a new remote repository
If you want to clone a repo into a folder named myproject, which command is correct?
Agit clone -folder myproject
Bgit clone myproject https://github.com/user/repo.git
Cgit clone https://github.com/user/repo.git
Dgit clone https://github.com/user/repo.git myproject
What folder name does Git use if you run git clone https://github.com/user/repo.git without extra arguments?
Auser
Bgithub
Crepo
Dclone
Which URL type allows cloning without typing your password every time?
ASSH URL
BHTTPS URL
CFTP URL
DHTTP URL
What is required to clone a private repository using HTTPS?
AUsername and password or token
BNothing, it is public
COnly SSH keys
DA VPN connection
Explain the steps and command to clone a repository from GitHub to your local machine.
Think about how you copy a folder from the internet to your computer.
You got /4 concepts.
    Describe the difference between cloning a repository using HTTPS and SSH URLs.
    Consider how you log in to websites versus using a secure key.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the git clone command do?
      easy
      A. Creates a new empty repository locally
      B. Deletes a repository from the remote server
      C. Copies a remote repository to your local machine
      D. Uploads local changes to the remote repository

      Solution

      1. Step 1: Understand the purpose of git clone

        The git clone command copies an entire remote repository to your local computer, including all files and history.
      2. Step 2: Compare with other git commands

        Other commands like git push upload changes, and git init creates empty repos, so they don't match cloning.
      3. Final Answer:

        Copies a remote repository to your local machine -> Option C
      4. Quick Check:

        git clone = copy remote repo [OK]
      Hint: Remember: clone means copy from remote to local [OK]
      Common Mistakes:
      • Confusing clone with push or init
      • Thinking clone deletes remote data
      • Assuming clone creates empty repo
      2. Which of the following is the correct syntax to clone a repository from URL https://github.com/user/repo.git?
      easy
      A. git clone -r https://github.com/user/repo.git
      B. git clone https://github.com/user/repo.git
      C. git copy https://github.com/user/repo.git
      D. git clone repo.git https://github.com/user

      Solution

      1. Step 1: Recall the basic git clone syntax

        The correct syntax is git clone <repository URL> without extra flags or rearranged arguments.
      2. Step 2: Check each option

        git clone https://github.com/user/repo.git matches the correct syntax. git copy https://github.com/user/repo.git uses 'copy' which is invalid. git clone -r https://github.com/user/repo.git adds an unnecessary '-r'. git clone repo.git https://github.com/user mixes arguments incorrectly.
      3. Final Answer:

        git clone https://github.com/user/repo.git -> Option B
      4. Quick Check:

        Correct syntax = git clone URL [OK]
      Hint: Use 'git clone' followed directly by the repo URL [OK]
      Common Mistakes:
      • Using 'git copy' instead of 'git clone'
      • Adding unsupported flags like '-r'
      • Swapping URL and folder arguments
      3. What will be the result of running git clone https://github.com/example/project.git myproject?
      medium
      A. Clones the repository into a folder named 'myproject'
      B. Clones the repository but keeps the default folder name
      C. Clones the repository and renames it to 'project.git'
      D. Clones the repository into a folder named 'project'

      Solution

      1. Step 1: Understand the optional folder argument in git clone

        When you add a folder name after the URL, git clone uses that as the local folder name instead of the default repo name.
      2. Step 2: Apply to the given command

        The command specifies 'myproject' as the folder, so the repo will be cloned into a folder named 'myproject'.
      3. Final Answer:

        Clones the repository into a folder named 'myproject' -> Option A
      4. Quick Check:

        Folder argument sets clone folder name [OK]
      Hint: Folder name after URL sets local clone folder [OK]
      Common Mistakes:
      • Assuming folder name is ignored
      • Thinking folder name renames remote repo
      • Confusing default folder with specified folder
      4. You run git clone https://github.com/user/repo.git myrepo but get an error: fatal: destination path 'myrepo' already exists and is not an empty directory. What is the best way to fix this?
      medium
      A. Delete or rename the existing 'myrepo' folder before cloning
      B. Run git clone without the folder name
      C. Use git clone --force to overwrite
      D. Change the remote URL to a different repository

      Solution

      1. Step 1: Understand the error message

        The error says the target folder 'myrepo' exists and is not empty, so git clone refuses to overwrite it.
      2. Step 2: Fix by removing or renaming the folder

        To clone successfully, you must delete or rename the existing 'myrepo' folder so git clone can create it fresh.
      3. Final Answer:

        Delete or rename the existing 'myrepo' folder before cloning -> Option A
      4. Quick Check:

        Existing folder blocks clone; remove it [OK]
      Hint: Remove existing folder before cloning to avoid errors [OK]
      Common Mistakes:
      • Trying to force clone with unsupported flags
      • Ignoring the error and expecting clone to work
      • Changing remote URL unnecessarily
      5. You want to clone a repository but only need the latest files without full history to save space. Which command should you use?
      hard
      A. git clone https://github.com/user/repo.git --shallow
      B. git clone --single-branch https://github.com/user/repo.git
      C. git clone --no-history https://github.com/user/repo.git
      D. git clone --depth 1 https://github.com/user/repo.git

      Solution

      1. Step 1: Identify shallow clone option

        The --depth 1 option tells git to clone only the latest commit, skipping full history to save space.
      2. Step 2: Check other options

        git clone https://github.com/user/repo.git --shallow uses a non-existent flag --shallow. git clone --no-history https://github.com/user/repo.git uses invalid --no-history. git clone --single-branch https://github.com/user/repo.git clones a single branch but keeps full history.
      3. Final Answer:

        git clone --depth 1 https://github.com/user/repo.git -> Option D
      4. Quick Check:

        Use --depth 1 for shallow clone [OK]
      Hint: Use --depth 1 for shallow clone without full history [OK]
      Common Mistakes:
      • Using invalid flags like --shallow or --no-history
      • Confusing single branch with shallow clone
      • Not knowing shallow clone saves space