| fetch-depth | Override fetch depth. Use 'auto' to calculate from last release (default),
'0' for full clone, or a specific number.
| no | auto |
| repository | Repository name with owner (e.g., actions/checkout) | — | ${{ github.repository }} |
| ref | The branch, tag or SHA to checkout | — | "" |
| token | PAT or GITHUB_TOKEN for fetching the repository | — | ${{ github.token }} |
| ssh-key | SSH key for fetching the repository | — | "" |
| ssh-known-hosts | Known hosts in addition to the user and global host key database | — | "" |
| ssh-strict | Whether to perform strict host key checking | — | true |
| ssh-user | The user to use when connecting to the remote SSH host | — | git |
| persist-credentials | Whether to configure the token or SSH key with the local git config | — | true |
| path | Relative path under $GITHUB_WORKSPACE to place the repository | — | "" |
| clean | Whether to execute git clean -ffdx && git reset --hard HEAD before fetching | — | true |
| filter | Partially clone against a given filter (overrides sparse-checkout if set) | — | "" |
| sparse-checkout | Do a sparse checkout on given patterns (newline separated) | — | "" |
| sparse-checkout-cone-mode | Whether to use cone-mode when doing a sparse checkout | — | true |
| fetch-tags | Whether to fetch tags, even if fetch-depth > 0 | — | true |
| show-progress | Whether to show progress status output when fetching | — | true |
| lfs | Whether to download Git-LFS files | — | false |
| submodules | Whether to checkout submodules (true, false, or recursive) | — | false |
| set-safe-directory | Add repository path as safe.directory for Git global config | — | true |
| github-server-url | The base URL for the GitHub instance to clone from | — | "" |