git-clear
git-clear deletes the entire contents of a specified Git working tree
(except for the .git file). It is equivalent to executing
git add . && git rm -rf --ignore-unmatch .. This step is useful for the common
scenario where the entire content of a Stage-specific branch is to be replaced
with content from another branch or with content rendered using some
configuration management tool.
Configuration
| Name | Type | Required | Description | 
|---|---|---|---|
| path | string | Y | Path to a Git working tree whose entire contents are to be deleted. | 
Examples
Common Usage
In this example, all content in a stage-specific branch is removed before new
content is added. After cloning the repository with a stage-specific branch
checked out to ./out, the git-clear step removes all files from this
working directory (except the .git directory).
This pattern is commonly used when you want to completely replace the contents of a branch with newly generated content, rather than updating existing files. This ensures there are no stale files left over from previous states of the branch, providing a clean slate for the new content that will be added by subsequent steps.
steps:
- uses: git-clone
  config:
    repoURL: https://github.com/example/repo.git
    checkout:
    - branch: stage/${{ ctx.stage }}
      create: true
      path: ./out
- uses: git-clear
  config:
    path: ./out
# Prepare the contents of ./out ...
# Commit, push, etc...