table of contents
| GIT-REPL(1) | Git Extras | GIT-REPL(1) |
NAME¶
git-repl - 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.
-
# 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¶
SEE ALSO¶
| May 2026 |