2019-10-25 10:52:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< 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 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 11:35:57 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Checkout V2 beta
  
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This action checks-out your repository under `$GITHUB_WORKSPACE` , so your workflow can access it.
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								By default, the repository that triggered the workflow is checked-out, for the ref/SHA that triggered the event.
							 
						 
					
						
							
								
									
										
										
										
											2019-08-13 16:53:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Refer [here ](https://help.github.com/en/articles/events-that-trigger-workflows ) to learn which commit `$GITHUB_SHA`  points to for different events.
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-05 22:10:31 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# What's new
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 11:26:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  Improved fetch performance 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  The default behavior now fetches only the SHA being checked-out
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Script authenticated git commands 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  Persists `with.token`  in the local git config
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  Enables your scripts to run authenticated git commands
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  Post-job cleanup removes the token
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  Coming soon: Opt out by setting `with.persist-credentials`  to `false` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Creates a local branch 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  No longer detached HEAD when checking out a branch
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  A local branch is created with the corresponding upstream branch set
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Improved layout 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `with.path`  is always relative to `github.workspace` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  Aligns better with container actions, where `github.workspace`  gets mapped in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Removed input `submodules`  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Refer [here ](https://github.com/actions/checkout/blob/v1/README.md ) for previous versions.
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Usage
  
						 
					
						
							
								
									
										
										
										
											2019-09-05 08:42:49 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<!--  start usage  -->  
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 11:26:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2 -beta 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 16:47:19 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Repository name with owner. For example, actions/checkout
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Default: ${{ github.repository }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    repository: ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-05 15:43:03 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # 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, defaults to `master` .
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ref: ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Access token for clone repository
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Default: ${{ github.token }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    token: ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # 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: ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Number of commits to fetch. 0 indicates all history.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Default: 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fetch-depth: ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Whether to download Git-LFS files
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Default: false
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    lfs: ''
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<!--  end usage  -->  
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Checkout a different branch
  
						 
					
						
							
								
									
										
										
										
											2019-09-05 08:42:49 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 10:12:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2 -beta 
						 
					
						
							
								
									
										
										
										
											2019-09-05 08:42:49 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ref: some-branch
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Checkout a different, private repository
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-25 10:52:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 10:12:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2 -beta 
						 
					
						
							
								
									
										
										
										
											2019-10-25 10:52:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    repository: myAccount/myRepository
							 
						 
					
						
							
								
									
										
										
										
											2019-11-21 11:04:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ref: refs/heads/master
							 
						 
					
						
							
								
									
										
										
										
											2019-12-03 10:28:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT`  is a secret that contains your PAT
							 
						 
					
						
							
								
									
										
										
										
											2019-10-25 10:52:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2019-11-21 11:04:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								>  - `${{ 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).
  
						 
					
						
							
								
									
										
										
										
											2019-10-25 10:52:59 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 10:12:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Checkout the HEAD commit of a PR, rather than the merge commit
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2 -beta 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ref: ${{ github.event.after }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:32:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# License
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The scripts and documentation in this project are released under the [MIT License ](LICENSE )