mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
* persistent command history
* notes
* decision on which commands to save
* configurable history location
* fix history initialization in various scenarios
* documentation
* comment
* don't add whitespace or consecutive duplicates to history
* fix manpage output
* Update bin/git-repl
Co-authored-by: Edwin Kofler <edwin@kofler.dev>
* Update bin/git-repl
Co-authored-by: Edwin Kofler <edwin@kofler.dev>
* Update git-repl
* Update bin/git-repl
* Apply suggestions from code review
* Add `extglob` and generate docs
* Fix regex
* update docs
rm man/git-repl.{1,html}
touch man/git-repl.md
make man/git-repl.{1,html}
---------
Co-authored-by: Edwin Kofler <edwin@kofler.dev>
106 lines
2.8 KiB
Markdown
106 lines
2.8 KiB
Markdown
git-repl(1) -- git read-eval-print-loop
|
|
=======================================
|
|
|
|
## SYNOPSIS
|
|
|
|
`git-repl`
|
|
|
|
`git-repl` [command...]
|
|
|
|
## DESCRIPTION
|
|
|
|
Git read-eval-print-loop. Lets you run `git` commands without typing 'git'.
|
|
|
|
Commands can be prefixed with an exclamation mark (!) to be interpreted as
|
|
a regular shell command.
|
|
|
|
Any arguments to git repl will be taken collectively as the first command
|
|
to execute in the repl.
|
|
|
|
Type `exit`, `quit`, or `q` to end the repl session. Ctrl-D and Ctrl-C
|
|
will also work.
|
|
|
|
## COMMANDS
|
|
|
|
<command>
|
|
|
|
Interpreted as `git <command>`.
|
|
|
|
!<command>
|
|
|
|
Interpreted as `<command>` (not through `git`).
|
|
|
|
ls
|
|
|
|
Equivalent of 'git ls-files'.
|
|
|
|
exit\|quit\|q
|
|
|
|
Ends the repl session.
|
|
|
|
## CONFIGURATION
|
|
|
|
Commands entered in a repl session will be saved to a history file and be available in
|
|
future sessions, similar to a shell or programming language repl. By default,
|
|
the global history file is at `~/.local/state/git_extras_repl_history`. You can specify that your projects
|
|
each have their own independent history file. This file will be saved in .git_repl_history
|
|
at the top level of the repo, and will need to be added to the repo or global .gitignore.
|
|
|
|
```bash
|
|
# remove the --global flag to configure only an individual project to have its own history file
|
|
git config --global git-extras.repl.use-local-history "true"
|
|
```
|
|
|
|
You can specify a default command to run when hitting enter:
|
|
|
|
`git config --global git-extras.repl.on-enter-command "git status -sb"`
|
|
|
|
You can configure which character is used at the end of the prompt
|
|
(default `>`):
|
|
|
|
`git config --global git-extras.repl.prompt-character "±"`
|
|
|
|
You can specify the prefix for the prompt (default `git`):
|
|
`git config --global git-extras.repl.prefix ""`
|
|
|
|
You can have the name of the current git repo shown in the prompt
|
|
(default `false`):
|
|
|
|
`git config --global git-extras.repl.show-project-name "true"`
|
|
|
|
|
|
## EXAMPLES
|
|
|
|
$ git repl
|
|
git version 2.34.1
|
|
git-extras version 7.3.0
|
|
Type 'ls' to ls files below current directory; '!command' to execute any command or just 'subcommand' to execute any git subcommand; 'quit', 'exit', 'q', ^D, or ^C to exit the git repl.
|
|
|
|
git (master)> ls-files
|
|
History.md
|
|
Makefile
|
|
Readme.md
|
|
bin/git-changelog
|
|
bin/git-count
|
|
bin/git-delete-branch
|
|
bin/git-delete-tag
|
|
bin/git-ignore
|
|
bin/git-release
|
|
|
|
git (master)> !echo Straight from the shell!
|
|
Straight from the shell!
|
|
|
|
git (master)> quit
|
|
|
|
## AUTHOR
|
|
|
|
Written by Tj Holowaychuk <<tj@vision-media.ca>>. Updated by Wyatt S Carpenter to add display of the previous command's exit status, 'q', and the ability to pass in the initial command as arguments.
|
|
|
|
## REPORTING BUGS
|
|
|
|
<<https://github.com/tj/git-extras/issues>>
|
|
|
|
## SEE ALSO
|
|
|
|
<<https://github.com/tj/git-extras>>
|