🔌 Rona
Usage
add-exclude (-a)
This command adds all files to the git add command and excludes the files that match the passed patterns.
Example:
)>
# or
)>
Where <pattern(s)> are the patterns to exclude.
[!CAUTION] The subtility of the patterns is that some terminals match the wildcard themselves.
Let's say you have this git status --porcelain output:
M Cargo.lock
M Cargo.toml
M src/main.rs
?? LICENCE-APACHE
?? LICENCE-MIT
?? README.md
?? src/cli.rs
?? src/git_related.rs
?? src/lib.rs
?? src/utils.rs
For excluding all Rust files, you can use the pattern *.rs.
# or use with wildcards
This will result in the following git status --porcelain output:
M Cargo.lock
M Cargo.toml
A LICENCE-APACHE
A LICENCE-MIT
A README.md
M src/main.rs
?? src/cli.rs
?? src/git_related.rs
?? src/lib.rs
?? src/utils.rs
commit (-c)
This command commits all changes with a custom message from the commit_message.md file.
Example:
# or
This will commit all changes with the message from the commit_message.md file.
generate (-g)
This command generates or updates the commit_message.md file with a template based on staged changes. It provides an interactive commit type selection and opens the file in your default editor.
Example:
# or
The command will:
- Create
commit_message.mdand.commitignorefiles if they don't exist - Add both files to
.git/info/exclude - Present an interactive selection of commit types (chore/feat/fix/test)
- Generate commit message template with staged files
- Open the message in your default editor (set via EDITOR env variable)
### `push` (`-p`)
This command pushes the committed changes to the remote repository.
Example:
```bash
rona push [extra args]
# or
rona -p [extra args]
This will push the committed changes to the remote repository.
list-status (-l)
This command lists the status of the repository.
Example:
# or
This is used with fish to autocomplete the -a command.
See the rona.fish fish completion script.