mirror of
				https://hub.gitmirror.com/https://github.com/actions/checkout.git
				synced 2025-10-27 16:10:01 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| <p align="center">
 | |
|   <a href="https://github.com/actions/checkout"><img alt="GitHub Actions status" src="https://github.com/actions/checkout/workflows/test-local/badge.svg"></a>
 | |
| </p>
 | |
| 
 | |
| # Checkout
 | |
| 
 | |
| This action checks out your repository to `$GITHUB_WORKSPACE`, so that your workflow can access the contents of your repository.
 | |
| 
 | |
| By default, this is equivalent to running `git fetch` and `git checkout $GITHUB_SHA`, so that you'll always have your repo contents at the version that triggered the workflow.
 | |
| See [here](https://help.github.com/en/articles/events-that-trigger-workflows) to learn what `$GITHUB_SHA` is for different kinds of events.
 | |
| 
 | |
| # Usage
 | |
| 
 | |
| See [action.yml](action.yml)
 | |
| 
 | |
| Basic:
 | |
| 
 | |
| ```yaml
 | |
| steps:
 | |
| - uses: actions/checkout@v1
 | |
| - uses: actions/setup-node@v1
 | |
|   with:
 | |
|     node-version: 10.x 
 | |
| - run: npm install
 | |
| - run: npm test
 | |
| ```
 | |
| 
 | |
| By default, the branch or tag ref that triggered the workflow will be checked out. If you wish to check out a different branch, a different repository or use different token to checkout, specify that using `with.ref`, `with.repository` and `with.token`.
 | |
| 
 | |
| ## Checkout different branch from the workflow repository
 | |
| ```yaml
 | |
| - uses: actions/checkout@v1
 | |
|   with:
 | |
|     ref: some-branch
 | |
| ```
 | |
| 
 | |
| ## Checkout different private repository
 | |
| ```yaml
 | |
| - uses: actions/checkout@v1
 | |
|   with:
 | |
|     repository: myAccount/myRepository
 | |
|     ref: refs/heads/master
 | |
|     token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret contains your PAT.
 | |
| ```
 | |
| > - `${{ github.token }}` is scoped to the current repository, so if you want to checkout another repository that is private you will need to provide your own [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).
 | |
| 
 | |
| ## Checkout private submodules
 | |
| ```yaml
 | |
| - uses: actions/checkout@v1
 | |
|   with:
 | |
|     submodules: true # 'recursive' 'true' or 'false'
 | |
|     token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret contains your PAT.
 | |
| ```
 | |
| > - Private submodules must be configured via `https` not `ssh`.
 | |
| > - `${{ github.token }}` only has permission to the workflow triggering repository. If the repository contains any submodules that come from private repositories, you will need to add your [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) as secret and use the secret in `with.token` to make the `checkout` action work.
 | |
| 
 | |
| For more details, see [Contexts and expression syntax for GitHub Actions](https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions) and [Creating and using encrypted secrets](https://help.github.com/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)
 | |
| 
 | |
| # License
 | |
| 
 | |
| The scripts and documentation in this project are released under the [MIT License](LICENSE)
 | 
