•  


Checkout · Actions · GitHub Marketplace · GitHub
Skip to content
actions

GitHub Action

Checkout

v4.1.4 Latest version

Checkout

actions

Checkout

Checkout a Git repository at a particular version

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Checkout

uses: actions/checkout@v4.1.4

Learn more about this action in actions/checkout

Choose a version

Build and Test

Checkout V4

This action checks-out your repository under $GITHUB_WORKSPACE , so your workflow can access it.

Only a single commit is fetched by default, for the ref/SHA that triggered the workflow. Set fetch-depth: 0 to fetch all history for all branches and tags. Refer here to learn which commit $GITHUB_SHA points to for different events.

The auth token is persisted in the local git config. This enables your scripts to run authenticated git commands. The token is removed during post-job cleanup. Set persist-credentials: false to opt-out.

When Git 2.18 or higher is not in your PATH, falls back to the REST API to download the files.

What's new

Please refer to the release page for the latest release notes.

Usage

- 
uses
: 
actions/checkout@v4

  with
:
    
#
 Repository name with owner. For example, actions/checkout

    #
 Default: ${{ github.repository }}

    repository
: 
'
'


    #
 The branch, tag or SHA to checkout. When checking out the repository that

    #
 triggered a workflow, this defaults to the reference or SHA for that event.

    #
 Otherwise, uses the default branch.

    ref
: 
'
'


    #
 Personal access token (PAT) used to fetch the repository. The PAT is configured

    #
 with the local git config, which enables your scripts to run authenticated git

    #
 commands. The post-job step removes the PAT.

    #

    #
 We recommend using a service account with the least permissions necessary. Also

    #
 when generating a new PAT, select the least scopes necessary.

    #

    #
 [Learn more about creating and using encrypted secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)

    #

    #
 Default: ${{ github.token }}

    token
: 
'
'


    #
 SSH key used to fetch the repository. The SSH key is configured with the local

    #
 git config, which enables your scripts to run authenticated git commands. The

    #
 post-job step removes the SSH key.

    #

    #
 We recommend using a service account with the least permissions necessary.

    #

    #
 [Learn more about creating and using encrypted secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)

    ssh-key
: 
'
'


    #
 Known hosts in addition to the user and global host key database. The public SSH

    #
 keys for a host may be obtained using the utility `ssh-keyscan`. For example,

    #
 `ssh-keyscan github.com`. The public key for github.com is always implicitly

    #
 added.

    ssh-known-hosts
: 
'
'


    #
 Whether to perform strict host key checking. When true, adds the options

    #
 `StrictHostKeyChecking=yes` and `CheckHostIP=no` to the SSH command line. Use

    #
 the input `ssh-known-hosts` to configure additional hosts.

    #
 Default: true

    ssh-strict
: 
'
'


    #
 The user to use when connecting to the remote SSH host. By default 'git' is

    #
 used.

    #
 Default: git

    ssh-user
: 
'
'


    #
 Whether to configure the token or SSH key with the local git config

    #
 Default: true

    persist-credentials
: 
'
'


    #
 Relative path under $GITHUB_WORKSPACE to place the repository

    path
: 
'
'


    #
 Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching

    #
 Default: true

    clean
: 
'
'


    #
 Partially clone against a given filter. Overrides sparse-checkout if set.

    #
 Default: null

    filter
: 
'
'


    #
 Do a sparse checkout on given patterns. Each pattern should be separated with

    #
 new lines.

    #
 Default: null

    sparse-checkout
: 
'
'


    #
 Specifies whether to use cone-mode when doing a sparse checkout.

    #
 Default: true

    sparse-checkout-cone-mode
: 
'
'


    #
 Number of commits to fetch. 0 indicates all history for all branches and tags.

    #
 Default: 1

    fetch-depth
: 
'
'


    #
 Whether to fetch tags, even if fetch-depth > 0.

    #
 Default: false

    fetch-tags
: 
'
'


    #
 Whether to show progress status output when fetching.

    #
 Default: true

    show-progress
: 
'
'


    #
 Whether to download Git-LFS files

    #
 Default: false

    lfs
: 
'
'


    #
 Whether to checkout submodules: `true` to checkout submodules or `recursive` to

    #
 recursively checkout submodules.

    #

    #
 When the `ssh-key` input is not provided, SSH URLs beginning with

    #
 `git@github.com:` are converted to HTTPS.

    #

    #
 Default: false

    submodules
: 
'
'


    #
 Add repository path as safe.directory for Git global config by running `git

    #
 config --global --add safe.directory <path>`

    #
 Default: true

    set-safe-directory
: 
'
'


    #
 The base URL for the GitHub instance that you are trying to clone from, will use

    #
 environment defaults to fetch from the same instance that the workflow is

    #
 running from unless specified. Example URLs are https://github.com or

    #
 https://my-ghes-server.example.com

    github-server-url
: 
'
'

Scenarios

Fetch only the root files

- 
uses
: 
actions/checkout@v4

  with
:
    
sparse-checkout
: 
.

Fetch only the root files and .github and src folder

- 
uses
: 
actions/checkout@v4

  with
:
    
sparse-checkout
: 
|

      .github

      src

Fetch only a single file

- 
uses
: 
actions/checkout@v4

  with
:
    
sparse-checkout
: 
|

      README.md

    sparse-checkout-cone-mode
: 
false

Fetch all history for all tags and branches

- 
uses
: 
actions/checkout@v4

  with
:
    
fetch-depth
: 
0

Checkout a different branch

- 
uses
: 
actions/checkout@v4

  with
:
    
ref
: 
my-branch

Checkout HEAD^

- 
uses
: 
actions/checkout@v4

  with
:
    
fetch-depth
: 
2

- 
run
: 
git checkout HEAD^

Checkout multiple repos (side by side)

- 
name
: 
Checkout

  uses
: 
actions/checkout@v4

  with
:
    
path
: 
main


- 
name
: 
Checkout tools repo

  uses
: 
actions/checkout@v4

  with
:
    
repository
: 
my-org/my-tools

    path
: 
my-tools

Checkout multiple repos (nested)

- 
name
: 
Checkout

  uses
: 
actions/checkout@v4


- 
name
: 
Checkout tools repo

  uses
: 
actions/checkout@v4

  with
:
    
repository
: 
my-org/my-tools

    path
: 
my-tools

Checkout multiple repos (private)

- 
name
: 
Checkout

  uses
: 
actions/checkout@v4

  with
:
    
path
: 
main


- 
name
: 
Checkout private tools

  uses
: 
actions/checkout@v4

  with
:
    
repository
: 
my-org/my-private-tools

    token
: 
${{ secrets.GH_PAT }} 
#
 `GH_PAT` is a secret that contains your PAT

    path
: 
my-tools
  • ${{ github.token }} is scoped to the current repository, so if you want to checkout a different repository that is private you will need to provide your own PAT .

Checkout pull request HEAD commit instead of merge commit

- 
uses
: 
actions/checkout@v4

  with
:
    
ref
: 
${{ github.event.pull_request.head.sha }}

Checkout pull request on closed event

on
:
  
pull_request
:
    
branches
: 
[main]

    types
: 
[opened, synchronize, closed]

jobs
:
  
build
:
    
runs-on
: 
ubuntu-latest

    steps
:
      - 
uses
: 
actions/checkout@v4

Push a commit using the built-in token

on
: 
push

jobs
:
  
build
:
    
runs-on
: 
ubuntu-latest

    steps
:
      - 
uses
: 
actions/checkout@v4

      - 
run
: 
|

          date > generated.txt

          git config user.name github-actions

          git config user.email github-actions@github.com

          git add .

          git commit -m "generated"

          git push

License

The scripts and documentation in this project are released under the MIT License

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본