nvbn / thefuck

Magnificent app which corrects your previous console command.
MIT License
83.76k stars 3.41k forks source link

[Git] Fix dubious ownership #1376

Open cfpwastaken opened 1 year ago

cfpwastaken commented 1 year ago

The output of thefuck --version (something like The Fuck 3.1 using Python 3.5.0 and Bash 4.4.12(1)-release):

The Fuck 3.32 using Python 3.11.3 and ZSH 5.9

Your system (Debian 7, ArchLinux, Windows, etc.):

Arch Linux

How to reproduce the bug:

Try to make a git action like "git add ." on a git repo folder with wrong ownership, or just on an NFS share.

The output of The Fuck with THEFUCK_DEBUG=true exported (typically execute export THEFUCK_DEBUG=true in your shell before The Fuck):

DEBUG: Run with settings: {'alter_history': True,
 'debug': True,
 'env': {'GIT_TRACE': '1', 'LANG': 'C', 'LC_ALL': 'C'},
 'exclude_rules': [],
 'excluded_search_path_prefixes': [],
 'history_limit': None,
 'instant_mode': False,
 'no_colors': False,
 'num_close_matches': 3,
 'priority': {},
 'repeat': False,
 'require_confirmation': True,
 'rules': [<const: All rules enabled>],
 'slow_commands': ['lein', 'react-native', 'gradle', './gradlew', 'vagrant'],
 'user_dir': PosixPath('/home/cfp/.config/thefuck'),
 'wait_command': 3,
 'wait_slow_command': 15}
DEBUG: Received output: fatal: detected dubious ownership in repository at '...'
To add an exception for this directory, call:

        git config --global --add safe.directory ...

DEBUG: Call: ga .; with env: {'SHELL': '/usr/bin/zsh', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'SESSION_MANAGER': 'local/archlinux:@/tmp/.ICE-unix/1115,unix/archlinux:/tmp/.ICE-unix/1115', 'COLORTERM': 'truecolor', 'LESS': '-R', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_KEYRING_CONTROL': '/run/user/1000/keyring', '_P9K_TTY': '/dev/pts/1', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'P9K_TTY': 'old', 'DESKTOP_SESSION': 'gnome', 'LC_MONETARY': 'de_DE.UTF-8', 'XDG_SESSION_DESKTOP': 'gnome', 'XDG_SESSION_TYPE': 'wayland', 'SYSTEMD_EXEC_PID': '1432', 'MOTD_SHOWN': 'pam', 'GDM_LANG': 'en_US.UTF-8', 'LANG': 'C', 'LC_PAPER': 'de_DE.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:', 'XDG_CURRENT_DESKTOP': 'GNOME', 'VTE_VERSION': '7201', 'WAYLAND_DISPLAY': 'wayland-0', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/f77580a2_24e5_41bc_8aef_02932839d815', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'GNOME_TERMINAL_SERVICE': ':1.222', 'DISPLAY': ':0', 'SHLVL': '3', 'PAGER': 'less', 'LC_MEASUREMENT': 'de_DE.UTF-8', '_P9K_SSH_TTY': '/dev/pts/1', 'XDG_RUNTIME_DIR': '/run/user/1000', 'GDMSESSION': 'gnome', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'LC_NUMERIC': 'de_DE.UTF-8', '_': '/usr/bin/thefuck', 'CHROME_DESKTOP': 'code-url-handler.desktop', 'ORIGINAL_XDG_CURRENT_DESKTOP': 'GNOME', 'GDK_BACKEND': 'x11', 'NO_AT_BRIDGE': '1', 'TERM_PROGRAM': 'vscode', 'TERM_PROGRAM_VERSION': '1.78.2', 'GIT_ASKPASS': '/opt/visual-studio-code/resources/app/extensions/git/dist/askpass.sh', 'VSCODE_GIT_ASKPASS_NODE': '/opt/visual-studio-code/code', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '--ms-enable-electron-run-as-node', 'VSCODE_GIT_ASKPASS_MAIN': '/opt/visual-studio-code/resources/app/extensions/git/dist/askpass-main.js', 'VSCODE_GIT_IPC_HANDLE': '/run/user/1000/vscode-git-fd4eefb9e5.sock', 'VSCODE_INJECTION': '1', 'TF_SHELL': 'zsh', 'TF_ALIAS': 'fuck', 'TF_SHELL_ALIASES': '-=\'cd -\'\n...=../..\n....=../../..\n.....=../../../..\n......=../../../../..\n1=\'cd -1\'\n2=\'cd -2\'\n3=\'cd -3\'\n4=\'cd -4\'\n5=\'cd -5\'\n6=\'cd -6\'\n7=\'cd -7\'\n8=\'cd -8\'\n9=\'cd -9\'\n_=\'sudo \'\negrep=\'grep -E --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}\'\nfgrep=\'grep -F --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}\'\ng=git\nga=\'git add\'\ngaa=\'git add --all\'\ngam=\'git am\'\ngama=\'git am --abort\'\ngamc=\'git am --continue\'\ngams=\'git am --skip\'\ngamscp=\'git am --show-current-patch\'\ngap=\'git apply\'\ngapa=\'git add --patch\'\ngapt=\'git apply --3way\'\ngau=\'git add --update\'\ngav=\'git add --verbose\'\ngb=\'git branch\'\ngbD=\'git branch --delete --force\'\ngba=\'git branch --all\'\ngbd=\'git branch --delete\'\ngbda=\'git branch --no-color --merged | command grep -vE "^([+*]|\\s*($(git_main_branch)|$(git_develop_branch))\\s*$)" | command xargs git branch --delete 2>/dev/null\'\ngbg=\'git branch -vv | grep ": gone\\]"\'\ngbgD=\'local res=$(gbg | awk \'\\\'\'{print $1}\'\\\'\') && [[ $res ]] && echo $res | xargs git branch -D\'\ngbgd=\'local res=$(gbg | awk \'\\\'\'{print $1}\'\\\'\') && [[ $res ]] && echo $res | xargs git branch -d\'\ngbl=\'git blame -b -w\'\ngbnm=\'git branch --no-merged\'\ngbr=\'git branch --remote\'\ngbs=\'git bisect\'\ngbsb=\'git bisect bad\'\ngbsg=\'git bisect good\'\ngbsr=\'git bisect reset\'\ngbss=\'git bisect start\'\ngc=\'git commit --verbose\'\n\'gc!\'=\'git commit --verbose --amend\'\ngca=\'git commit --verbose --all\'\n\'gca!\'=\'git commit --verbose --all --amend\'\ngcam=\'git commit --all --message\'\n\'gcan!\'=\'git commit --verbose --all --no-edit --amend\'\n\'gcans!\'=\'git commit --verbose --all --signoff --no-edit --amend\'\ngcas=\'git commit --all --signoff\'\ngcasm=\'git commit --all --signoff --message\'\ngcb=\'git checkout -b\'\ngcd=\'git checkout $(git_develop_branch)\'\ngcf=\'git config --list\'\ngcl=\'git clone --recurse-submodules\'\ngclean=\'git clean --interactive -d\'\ngcm=\'git checkout $(git_main_branch)\'\ngcmsg=\'git commit --message\'\n\'gcn!\'=\'git commit --verbose --no-edit --amend\'\ngco=\'git checkout\'\ngcor=\'git checkout --recurse-submodules\'\ngcount=\'git shortlog --summary --numbered\'\ngcp=\'git cherry-pick\'\ngcpa=\'git cherry-pick --abort\'\ngcpc=\'git cherry-pick --continue\'\ngcs=\'git commit --gpg-sign\'\ngcsm=\'git commit --signoff --message\'\ngcss=\'git commit --gpg-sign --signoff\'\ngcssm=\'git commit --gpg-sign --signoff --message\'\ngd=\'git diff\'\ngdca=\'git diff --cached\'\ngdct=\'git describe --tags $(git rev-list --tags --max-count=1)\'\ngdcw=\'git diff --cached --word-diff\'\ngds=\'git diff --staged\'\ngdt=\'git diff-tree --no-commit-id --name-only -r\'\ngdup=\'git diff @{upstream}\'\ngdw=\'git diff --word-diff\'\ngf=\'git fetch\'\ngfa=\'git fetch --all --prune --jobs=10\'\ngfg=\'git ls-files | grep\'\ngfo=\'git fetch origin\'\ngg=\'git gui citool\'\ngga=\'git gui citool --amend\'\nggpull=\'git pull origin "$(git_current_branch)"\'\nggpur=ggu\nggpush=\'git push origin "$(git_current_branch)"\'\nggsup=\'git branch --set-upstream-to=origin/$(git_current_branch)\'\nghh=\'git help\'\ngignore=\'git update-index --assume-unchanged\'\ngignored=\'git ls-files -v | grep "^[[:lower:]]"\'\ngit-svn-dcommit-push=\'git svn dcommit && git push github $(git_main_branch):svntrunk\'\ngk=\'\\gitk --all --branches &!\'\ngke=\'\\gitk --all $(git log --walk-reflogs --pretty=%h) &!\'\ngl=\'git pull\'\nglg=\'git log --stat\'\nglgg=\'git log --graph\'\nglgga=\'git log --graph --decorate --all\'\nglgm=\'git log --graph --max-count=10\'\nglgp=\'git log --stat --patch\'\nglo=\'git log --oneline --decorate\'\ngloburl=\'noglob urlglobber \'\nglod=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\'\\\'\nglods=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\'\\\'\' --date=short\'\nglog=\'git log --oneline --decorate --graph\'\ngloga=\'git log --oneline --decorate --graph --all\'\nglol=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\'\\\'\nglola=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\'\\\'\' --all\'\nglols=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\'\\\'\' --stat\'\nglp=_git_log_prettily\ngluc=\'git pull upstream $(git_current_branch)\'\nglum=\'git pull upstream $(git_main_branch)\'\ngm=\'git merge\'\ngma=\'git merge --abort\'\ngmom=\'git merge origin/$(git_main_branch)\'\ngms=\'git merge --squash\'\ngmtl=\'git mergetool --no-prompt\'\ngmtlvim=\'git mergetool --no-prompt --tool=vimdiff\'\ngmum=\'git merge upstream/$(git_main_branch)\'\ngp=\'git push\'\ngpd=\'git push --dry-run\'\ngpf=\'git push --force-with-lease --force-if-includes\'\n\'gpf!\'=\'git push --force\'\ngpoat=\'git push origin --all && git push origin --tags\'\ngpod=\'git push origin --delete\'\ngpr=\'git pull --rebase\'\ngpristine=\'git reset --hard && git clean --force -dfx\'\ngpsup=\'git push --set-upstream origin $(git_current_branch)\'\ngpsupf=\'git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes\'\ngpu=\'git push upstream\'\ngpv=\'git push --verbose\'\ngr=\'git remote\'\ngra=\'git remote add\'\ngrb=\'git rebase\'\ngrba=\'git rebase --abort\'\ngrbc=\'git rebase --continue\'\ngrbd=\'git rebase $(git_develop_branch)\'\ngrbi=\'git rebase --interactive\'\ngrbm=\'git rebase $(git_main_branch)\'\ngrbo=\'git rebase --onto\'\ngrbom=\'git rebase origin/$(git_main_branch)\'\ngrbs=\'git rebase --skip\'\ngrep=\'grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}\'\ngrev=\'git revert\'\ngrh=\'git reset\'\ngrhh=\'git reset --hard\'\ngrm=\'git rm\'\ngrmc=\'git rm --cached\'\ngrmv=\'git remote rename\'\ngroh=\'git reset origin/$(git_current_branch) --hard\'\ngrrm=\'git remote remove\'\ngrs=\'git restore\'\ngrset=\'git remote set-url\'\ngrss=\'git restore --source\'\ngrst=\'git restore --staged\'\ngrt=\'cd "$(git rev-parse --show-toplevel || echo .)"\'\ngru=\'git reset --\'\ngrup=\'git remote update\'\ngrv=\'git remote --verbose\'\ngsb=\'git status --short --branch\'\ngsd=\'git svn dcommit\'\ngsh=\'git show\'\ngsi=\'git submodule init\'\ngsps=\'git show --pretty=short --show-signature\'\ngsr=\'git svn rebase\'\ngss=\'git status --short\'\ngst=\'git status\'\ngsta=\'git stash push\'\ngstaa=\'git stash apply\'\ngstall=\'git stash --all\'\ngstc=\'git stash clear\'\ngstd=\'git stash drop\'\ngstl=\'git stash list\'\ngstp=\'git stash pop\'\ngsts=\'git stash show --text\'\ngstu=\'gsta --include-untracked\'\ngsu=\'git submodule update\'\ngsw=\'git switch\'\ngswc=\'git switch --create\'\ngswd=\'git switch $(git_develop_branch)\'\ngswm=\'git switch $(git_main_branch)\'\ngtl=\'gtl(){ git tag --sort=-v:refname -n --list "${1}*" }; noglob gtl\'\ngts=\'git tag --sign\'\ngtv=\'git tag | sort -V\'\ngunignore=\'git update-index --no-assume-unchanged\'\ngunwip=\'git log --max-count=1 | grep -q -c "\\--wip--" && git reset HEAD~1\'\ngup=\'git pull --rebase\'\ngupa=\'git pull --rebase --autostash\'\ngupav=\'git pull --rebase --autostash --verbose\'\ngupom=\'git pull --rebase origin $(git_main_branch)\'\ngupomi=\'git pull --rebase=interactive origin $(git_main_branch)\'\ngupv=\'git pull --rebase --verbose\'\ngwch=\'git whatchanged -p --abbrev-commit --pretty=medium\'\ngwip=\'git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"\'\ngwt=\'git worktree\'\ngwta=\'git worktree add\'\ngwtls=\'git worktree list\'\ngwtmv=\'git worktree move\'\ngwtrm=\'git worktree remove\'\nhistory=omz_history\nl=\'ls -lah\'\nla=\'ls -lAh\'\nll=\'ls -lh\'\nls=\'ls --color=tty\'\nlsa=\'ls -lah\'\nmd=\'mkdir -p\'\nrd=rmdir\nrun-help=man\nwhich-command=whence', 'PYTHONIOENCODING': 'utf-8', 'THEFUCK_DEBUG': 'true', 'LC_ALL': 'C', 'GIT_TRACE': '1'}; is slow: False took: 0:00:00.002363
DEBUG: Importing rule: adb_unknown_command; took: 0:00:00.000276
DEBUG: Importing rule: ag_literal; took: 0:00:00.000224
DEBUG: Importing rule: apt_get; took: 0:00:00.000651
DEBUG: Importing rule: apt_get_search; took: 0:00:00.000386
DEBUG: Importing rule: apt_invalid_operation; took: 0:00:00.000557
DEBUG: Importing rule: apt_list_upgradable; took: 0:00:00.000262
DEBUG: Importing rule: apt_upgrade; took: 0:00:00.000231
DEBUG: Importing rule: aws_cli; took: 0:00:00.000172
DEBUG: Importing rule: az_cli; took: 0:00:00.000169
DEBUG: Importing rule: brew_cask_dependency; took: 0:00:00.000698
DEBUG: Importing rule: brew_install; took: 0:00:00.000143
DEBUG: Importing rule: brew_link; took: 0:00:00.000141
DEBUG: Importing rule: brew_reinstall; took: 0:00:00.000311
DEBUG: Importing rule: brew_uninstall; took: 0:00:00.000137
DEBUG: Importing rule: brew_unknown_command; took: 0:00:00.000144
DEBUG: Importing rule: brew_update_formula; took: 0:00:00.000139
DEBUG: Importing rule: cargo; took: 0:00:00.000084
DEBUG: Importing rule: cargo_no_command; took: 0:00:00.000130
DEBUG: Importing rule: cat_dir; took: 0:00:00.000128
DEBUG: Importing rule: cd_correction; took: 0:00:00.000643
DEBUG: Importing rule: cd_cs; took: 0:00:00.000177
DEBUG: Importing rule: cd_mkdir; took: 0:00:00.000316
DEBUG: Importing rule: cd_parent; took: 0:00:00.000141
DEBUG: Importing rule: chmod_x; took: 0:00:00.000111
DEBUG: Importing rule: choco_install; took: 0:00:00.000340
DEBUG: Importing rule: composer_not_command; took: 0:00:00.000183
DEBUG: Importing rule: conda_mistype; took: 0:00:00.000197
DEBUG: Importing rule: cp_create_destination; took: 0:00:00.000158
DEBUG: Importing rule: cp_omitting_directory; took: 0:00:00.000306
DEBUG: Importing rule: cpp11; took: 0:00:00.000177
DEBUG: Importing rule: dirty_untar; took: 0:00:00.001596
DEBUG: Importing rule: dirty_unzip; took: 0:00:00.001147
DEBUG: Importing rule: django_south_ghost; took: 0:00:00.000122
DEBUG: Importing rule: django_south_merge; took: 0:00:00.000087
DEBUG: Importing rule: dnf_no_such_command; took: 0:00:00.000577
DEBUG: Importing rule: docker_image_being_used_by_container; took: 0:00:00.000154
DEBUG: Importing rule: docker_login; took: 0:00:00.000147
DEBUG: Importing rule: docker_not_command; took: 0:00:00.000271
DEBUG: Importing rule: dry; took: 0:00:00.000100
DEBUG: Importing rule: fab_command_not_found; took: 0:00:00.000167
DEBUG: Importing rule: fix_alt_space; took: 0:00:00.000136
DEBUG: Importing rule: fix_file; took: 0:00:00.001081
DEBUG: Importing rule: gem_unknown_command; took: 0:00:00.000254
DEBUG: Importing rule: git_add; took: 0:00:00.000291
DEBUG: Importing rule: git_add_force; took: 0:00:00.000133
DEBUG: Importing rule: git_bisect_usage; took: 0:00:00.000195
DEBUG: Importing rule: git_branch_0flag; took: 0:00:00.000145
DEBUG: Importing rule: git_branch_delete; took: 0:00:00.000127
DEBUG: Importing rule: git_branch_delete_checked_out; took: 0:00:00.000127
DEBUG: Importing rule: git_branch_exists; took: 0:00:00.000136
DEBUG: Importing rule: git_branch_list; took: 0:00:00.000141
DEBUG: Importing rule: git_checkout; took: 0:00:00.000147
DEBUG: Importing rule: git_clone_git_clone; took: 0:00:00.000121
DEBUG: Importing rule: git_commit_add; took: 0:00:00.000126
DEBUG: Importing rule: git_commit_amend; took: 0:00:00.000119
DEBUG: Importing rule: git_commit_reset; took: 0:00:00.000145
DEBUG: Importing rule: git_diff_no_index; took: 0:00:00.000122
DEBUG: Importing rule: git_diff_staged; took: 0:00:00.000134
DEBUG: Importing rule: git_fix_stash; took: 0:00:00.000155
DEBUG: Importing rule: git_flag_after_filename; took: 0:00:00.000136
DEBUG: Importing rule: git_help_aliased; took: 0:00:00.000130
DEBUG: Importing rule: git_hook_bypass; took: 0:00:00.000131
DEBUG: Importing rule: git_lfs_mistype; took: 0:00:00.000131
DEBUG: Importing rule: git_main_master; took: 0:00:00.000186
DEBUG: Importing rule: git_merge; took: 0:00:00.000132
DEBUG: Importing rule: git_merge_unrelated; took: 0:00:00.000132
DEBUG: Importing rule: git_not_command; took: 0:00:00.000125
DEBUG: Importing rule: git_pull; took: 0:00:00.000132
DEBUG: Importing rule: git_pull_clone; took: 0:00:00.000127
DEBUG: Importing rule: git_pull_uncommitted_changes; took: 0:00:00.000133
DEBUG: Importing rule: git_push; took: 0:00:00.000147
DEBUG: Importing rule: git_push_different_branch_names; took: 0:00:00.000147
DEBUG: Importing rule: git_push_force; took: 0:00:00.000138
DEBUG: Importing rule: git_push_pull; took: 0:00:00.000134
DEBUG: Importing rule: git_push_without_commits; took: 0:00:00.000132
DEBUG: Importing rule: git_rebase_merge_dir; took: 0:00:00.000157
DEBUG: Importing rule: git_rebase_no_changes; took: 0:00:00.000127
DEBUG: Importing rule: git_remote_delete; took: 0:00:00.000140
DEBUG: Importing rule: git_remote_seturl_add; took: 0:00:00.000123
DEBUG: Importing rule: git_rm_local_modifications; took: 0:00:00.000135
DEBUG: Importing rule: git_rm_recursive; took: 0:00:00.000123
DEBUG: Importing rule: git_rm_staged; took: 0:00:00.000167
DEBUG: Importing rule: git_stash; took: 0:00:00.000136
DEBUG: Importing rule: git_stash_pop; took: 0:00:00.000134
DEBUG: Importing rule: git_tag_force; took: 0:00:00.000143
DEBUG: Importing rule: git_two_dashes; took: 0:00:00.000144
DEBUG: Importing rule: go_run; took: 0:00:00.000153
DEBUG: Importing rule: go_unknown_command; took: 0:00:00.000225
DEBUG: Importing rule: gradle_no_task; took: 0:00:00.000274
DEBUG: Importing rule: gradle_wrapper; took: 0:00:00.000150
DEBUG: Importing rule: grep_arguments_order; took: 0:00:00.000146
DEBUG: Importing rule: grep_recursive; took: 0:00:00.000147
DEBUG: Importing rule: grunt_task_not_found; took: 0:00:00.000273
DEBUG: Importing rule: gulp_not_task; took: 0:00:00.000187
DEBUG: Importing rule: has_exists_script; took: 0:00:00.000157
DEBUG: Importing rule: heroku_multiple_apps; took: 0:00:00.000210
DEBUG: Importing rule: heroku_not_command; took: 0:00:00.001567
DEBUG: Importing rule: history; took: 0:00:00.000185
DEBUG: Importing rule: hostscli; took: 0:00:00.000207
DEBUG: Importing rule: ifconfig_device_not_found; took: 0:00:00.000209
DEBUG: Importing rule: java; took: 0:00:00.000139
DEBUG: Importing rule: javac; took: 0:00:00.000131
DEBUG: Importing rule: lein_not_task; took: 0:00:00.000162
DEBUG: Importing rule: ln_no_hard_link; took: 0:00:00.000133
DEBUG: Importing rule: ln_s_order; took: 0:00:00.000127
DEBUG: Importing rule: long_form_help; took: 0:00:00.000094
DEBUG: Importing rule: ls_all; took: 0:00:00.000283
DEBUG: Importing rule: ls_lah; took: 0:00:00.000130
DEBUG: Importing rule: man; took: 0:00:00.000148
DEBUG: Importing rule: man_no_space; took: 0:00:00.000087
DEBUG: Importing rule: mercurial; took: 0:00:00.000159
DEBUG: Importing rule: missing_space_before_subcommand; took: 0:00:00.000106
DEBUG: Importing rule: mkdir_p; took: 0:00:00.000129
DEBUG: Importing rule: mvn_no_command; took: 0:00:00.000132
DEBUG: Importing rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000133
DEBUG: Importing rule: nixos_cmd_not_found; took: 0:00:00.000415
DEBUG: Importing rule: no_command; took: 0:00:00.000147
DEBUG: Importing rule: no_such_file; took: 0:00:00.000117
DEBUG: Importing rule: npm_missing_script; took: 0:00:00.000353
DEBUG: Importing rule: npm_run_script; took: 0:00:00.000160
DEBUG: Importing rule: npm_wrong_command; took: 0:00:00.000185
DEBUG: Importing rule: omnienv_no_such_command; took: 0:00:00.000366
DEBUG: Importing rule: open; took: 0:00:00.000179
DEBUG: Importing rule: pacman; took: 0:00:00.000343
DEBUG: Importing rule: pacman_invalid_option; took: 0:00:00.000182
DEBUG: Importing rule: pacman_not_found; took: 0:00:00.000123
DEBUG: Importing rule: path_from_history; took: 0:00:00.000144
DEBUG: Importing rule: php_s; took: 0:00:00.000176
DEBUG: Importing rule: pip_install; took: 0:00:00.000157
DEBUG: Importing rule: pip_unknown_command; took: 0:00:00.000160
DEBUG: Importing rule: port_already_in_use; took: 0:00:00.000193
DEBUG: Importing rule: prove_recursively; took: 0:00:00.000171
DEBUG: Importing rule: python_command; took: 0:00:00.000200
DEBUG: Importing rule: python_execute; took: 0:00:00.000150
DEBUG: Importing rule: python_module_error; took: 0:00:00.000116
DEBUG: Importing rule: quotation_marks; took: 0:00:00.000107
DEBUG: Importing rule: rails_migrations_pending; took: 0:00:00.000103
DEBUG: Importing rule: react_native_command_unrecognized; took: 0:00:00.000221
DEBUG: Importing rule: remove_shell_prompt_literal; took: 0:00:00.000104
DEBUG: Importing rule: remove_trailing_cedilla; took: 0:00:00.000089
DEBUG: Importing rule: rm_dir; took: 0:00:00.000179
DEBUG: Importing rule: rm_root; took: 0:00:00.000142
DEBUG: Importing rule: scm_correction; took: 0:00:00.000181
DEBUG: Importing rule: sed_unterminated_s; took: 0:00:00.000166
DEBUG: Importing rule: sl_ls; took: 0:00:00.000096
DEBUG: Importing rule: ssh_known_hosts; took: 0:00:00.000162
DEBUG: Importing rule: sudo; took: 0:00:00.000114
DEBUG: Importing rule: sudo_command_from_user_path; took: 0:00:00.000172
DEBUG: Importing rule: switch_lang; took: 0:00:00.000233
DEBUG: Importing rule: systemctl; took: 0:00:00.000191
DEBUG: Importing rule: terraform_init; took: 0:00:00.000155
DEBUG: Importing rule: test.py; took: 0:00:00.000094
DEBUG: Importing rule: tmux; took: 0:00:00.000146
DEBUG: Importing rule: touch; took: 0:00:00.000250
DEBUG: Importing rule: tsuru_login; took: 0:00:00.000143
DEBUG: Importing rule: tsuru_not_command; took: 0:00:00.000149
DEBUG: Importing rule: unknown_command; took: 0:00:00.000097
DEBUG: Importing rule: unsudo; took: 0:00:00.000089
DEBUG: Importing rule: vagrant_up; took: 0:00:00.000204
DEBUG: Importing rule: whois; took: 0:00:00.000300
DEBUG: Importing rule: workon_doesnt_exists; took: 0:00:00.000240
DEBUG: Importing rule: wrong_hyphen_before_subcommand; took: 0:00:00.000182
DEBUG: Importing rule: yarn_alias; took: 0:00:00.000160
DEBUG: Importing rule: yarn_command_not_found; took: 0:00:00.000485
DEBUG: Importing rule: yarn_command_replaced; took: 0:00:00.000289
DEBUG: Importing rule: yarn_help; took: 0:00:00.000195
DEBUG: Importing rule: yum_invalid_operation; took: 0:00:00.000414
DEBUG: Trying rule: path_from_history; took: 0:00:00.000266
DEBUG: Trying rule: cd_cs; took: 0:00:00.000040
DEBUG: Trying rule: dry; took: 0:00:00.000004
DEBUG: Trying rule: git_stash_pop; took: 0:00:00.000053
DEBUG: Trying rule: test.py; took: 0:00:00.000002
DEBUG: Trying rule: adb_unknown_command; took: 0:00:00.000015
DEBUG: Trying rule: ag_literal; took: 0:00:00.000032
DEBUG: Trying rule: aws_cli; took: 0:00:00.000029
DEBUG: Trying rule: az_cli; took: 0:00:00.000034
DEBUG: Trying rule: brew_link; took: 0:00:00.000028
DEBUG: Trying rule: brew_reinstall; took: 0:00:00.000021
DEBUG: Trying rule: brew_uninstall; took: 0:00:00.000019
DEBUG: Trying rule: brew_update_formula; took: 0:00:00.000022
DEBUG: Trying rule: cargo; took: 0:00:00.000002
DEBUG: Trying rule: cargo_no_command; took: 0:00:00.000221
DEBUG: Trying rule: cat_dir; took: 0:00:00.000026
DEBUG: Trying rule: cd_correction; took: 0:00:00.000027
DEBUG: Trying rule: cd_mkdir; took: 0:00:00.000023
DEBUG: Trying rule: cd_parent; took: 0:00:00.000002
DEBUG: Trying rule: chmod_x; took: 0:00:00.000002
DEBUG: Trying rule: composer_not_command; took: 0:00:00.000023
DEBUG: Trying rule: conda_mistype; took: 0:00:00.000021
DEBUG: Trying rule: cp_create_destination; took: 0:00:00.000020
DEBUG: Trying rule: cp_omitting_directory; took: 0:00:00.000026
DEBUG: Trying rule: cpp11; took: 0:00:00.000020
DEBUG: Trying rule: dirty_untar; took: 0:00:00.000021
DEBUG: Trying rule: dirty_unzip; took: 0:00:00.000019
DEBUG: Trying rule: django_south_ghost; took: 0:00:00.000002
DEBUG: Trying rule: django_south_merge; took: 0:00:00.000003
DEBUG: Trying rule: docker_image_being_used_by_container; took: 0:00:00.000020
DEBUG: Trying rule: docker_login; took: 0:00:00.000017
DEBUG: Trying rule: docker_not_command; took: 0:00:00.000022
DEBUG: Trying rule: fab_command_not_found; took: 0:00:00.000020
DEBUG: Trying rule: fix_alt_space; took: 0:00:00.000013
DEBUG: Trying rule: fix_file; took: 0:00:00.000011
DEBUG: Trying rule: gem_unknown_command; took: 0:00:00.000022
DEBUG: Trying rule: git_add; took: 0:00:00.000022
DEBUG: Trying rule: git_add_force; took: 0:00:00.000021
DEBUG: Trying rule: git_bisect_usage; took: 0:00:00.000019
DEBUG: Trying rule: git_branch_0flag; took: 0:00:00.000014
DEBUG: Trying rule: git_branch_delete; took: 0:00:00.000018
DEBUG: Trying rule: git_branch_delete_checked_out; took: 0:00:00.000018
DEBUG: Trying rule: git_branch_exists; took: 0:00:00.000016
DEBUG: Trying rule: git_branch_list; took: 0:00:00.000021
DEBUG: Trying rule: git_checkout; took: 0:00:00.000017
DEBUG: Trying rule: git_clone_git_clone; took: 0:00:00.000016
DEBUG: Trying rule: git_commit_add; took: 0:00:00.000014
DEBUG: Trying rule: git_commit_amend; took: 0:00:00.000021
DEBUG: Trying rule: git_commit_reset; took: 0:00:00.000016
DEBUG: Trying rule: git_diff_no_index; took: 0:00:00.000017
DEBUG: Trying rule: git_diff_staged; took: 0:00:00.000013
DEBUG: Trying rule: git_fix_stash; took: 0:00:00.000014
DEBUG: Trying rule: git_flag_after_filename; took: 0:00:00.001310
DEBUG: Trying rule: git_help_aliased; took: 0:00:00.000044
DEBUG: Trying rule: git_lfs_mistype; took: 0:00:00.000023
DEBUG: Trying rule: git_merge; took: 0:00:00.000021
DEBUG: Trying rule: git_merge_unrelated; took: 0:00:00.000021
DEBUG: Trying rule: git_not_command; took: 0:00:00.000020
DEBUG: Trying rule: git_pull; took: 0:00:00.000018
DEBUG: Trying rule: git_pull_clone; took: 0:00:00.000014
DEBUG: Trying rule: git_pull_uncommitted_changes; took: 0:00:00.000019
DEBUG: Trying rule: git_push; took: 0:00:00.000018
DEBUG: Trying rule: git_push_different_branch_names; took: 0:00:00.000017
DEBUG: Trying rule: git_push_pull; took: 0:00:00.000018
DEBUG: Trying rule: git_push_without_commits; took: 0:00:00.000141
DEBUG: Trying rule: git_rebase_merge_dir; took: 0:00:00.000038
DEBUG: Trying rule: git_rebase_no_changes; took: 0:00:00.000042
DEBUG: Trying rule: git_remote_delete; took: 0:00:00.000032
DEBUG: Trying rule: git_remote_seturl_add; took: 0:00:00.000038
DEBUG: Trying rule: git_rm_local_modifications; took: 0:00:00.000077
DEBUG: Trying rule: git_rm_recursive; took: 0:00:00.000041
DEBUG: Trying rule: git_rm_staged; took: 0:00:00.000090
DEBUG: Trying rule: git_stash; took: 0:00:00.000027
DEBUG: Trying rule: git_tag_force; took: 0:00:00.000021
DEBUG: Trying rule: git_two_dashes; took: 0:00:00.000015
DEBUG: Trying rule: go_run; took: 0:00:00.000031
DEBUG: Trying rule: go_unknown_command; took: 0:00:00.000016
DEBUG: Trying rule: gradle_no_task; took: 0:00:00.000017
DEBUG: Trying rule: gradle_wrapper; took: 0:00:00.000019
DEBUG: Trying rule: grep_arguments_order; took: 0:00:00.000022
DEBUG: Trying rule: grep_recursive; took: 0:00:00.000017
DEBUG: Trying rule: grunt_task_not_found; took: 0:00:00.000016
DEBUG: Trying rule: gulp_not_task; took: 0:00:00.000018
DEBUG: Trying rule: has_exists_script; took: 0:00:00.000068
DEBUG: Trying rule: heroku_multiple_apps; took: 0:00:00.000028
DEBUG: Trying rule: heroku_not_command; took: 0:00:00.000034
DEBUG: Trying rule: hostscli; took: 0:00:00.000027
DEBUG: Trying rule: ifconfig_device_not_found; took: 0:00:00.000020
DEBUG: Trying rule: java; took: 0:00:00.000023
DEBUG: Trying rule: javac; took: 0:00:00.000022
DEBUG: Trying rule: lein_not_task; took: 0:00:00.000036
DEBUG: Trying rule: ln_no_hard_link; took: 0:00:00.000014
DEBUG: Trying rule: ln_s_order; took: 0:00:00.000013
DEBUG: Trying rule: ls_all; took: 0:00:00.000029
DEBUG: Trying rule: ls_lah; took: 0:00:00.000023
DEBUG: Trying rule: man; took: 0:00:00.000033
DEBUG: Trying rule: mercurial; took: 0:00:00.000027
DEBUG: Trying rule: mkdir_p; took: 0:00:00.000012
DEBUG: Trying rule: mvn_no_command; took: 0:00:00.000023
DEBUG: Trying rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000028
DEBUG: Trying rule: no_such_file; took: 0:00:00.000446
DEBUG: Trying rule: npm_missing_script; took: 0:00:00.000039
DEBUG: Trying rule: npm_run_script; took: 0:00:00.000028
DEBUG: Trying rule: npm_wrong_command; took: 0:00:00.000026
DEBUG: Trying rule: open; took: 0:00:00.000026
DEBUG: Trying rule: pacman; took: 0:00:00.000002
DEBUG: Trying rule: pacman_invalid_option; took: 0:00:00.000032
DEBUG: Trying rule: pacman_not_found; took: 0:00:00.000004
DEBUG: Trying rule: php_s; took: 0:00:00.000050
DEBUG: Trying rule: pip_install; took: 0:00:00.000038
DEBUG: Trying rule: pip_unknown_command; took: 0:00:00.000031
DEBUG: Trying rule: port_already_in_use; took: 0:00:00.000308
DEBUG: Trying rule: prove_recursively; took: 0:00:00.000050
DEBUG: Trying rule: python_command; took: 0:00:00.000043
DEBUG: Trying rule: python_execute; took: 0:00:00.000037
DEBUG: Trying rule: python_module_error; took: 0:00:00.000004
DEBUG: Trying rule: quotation_marks; took: 0:00:00.000003
DEBUG: Trying rule: rails_migrations_pending; took: 0:00:00.000002
DEBUG: Trying rule: react_native_command_unrecognized; took: 0:00:00.000037
DEBUG: Trying rule: remove_shell_prompt_literal; took: 0:00:00.000001
DEBUG: Trying rule: remove_trailing_cedilla; took: 0:00:00.000003
DEBUG: Trying rule: rm_dir; took: 0:00:00.000014
DEBUG: Trying rule: scm_correction; took: 0:00:00.000027
DEBUG: Trying rule: sed_unterminated_s; took: 0:00:00.000019
DEBUG: Trying rule: sl_ls; took: 0:00:00.000003
DEBUG: Trying rule: ssh_known_hosts; took: 0:00:00.000024
DEBUG: Trying rule: sudo; took: 0:00:00.000022
DEBUG: Trying rule: sudo_command_from_user_path; took: 0:00:00.000021
DEBUG: Trying rule: switch_lang; took: 0:00:00.000004
DEBUG: Trying rule: systemctl; took: 0:00:00.000027
DEBUG: Trying rule: terraform_init; took: 0:00:00.000018
DEBUG: Trying rule: tmux; took: 0:00:00.000018
DEBUG: Trying rule: touch; took: 0:00:00.000016
DEBUG: Trying rule: tsuru_login; took: 0:00:00.000040
DEBUG: Trying rule: tsuru_not_command; took: 0:00:00.000018
DEBUG: Trying rule: unknown_command; took: 0:00:00.000248
DEBUG: Trying rule: unsudo; took: 0:00:00.000004
DEBUG: Trying rule: vagrant_up; took: 0:00:00.000037
DEBUG: Trying rule: whois; took: 0:00:00.000020
DEBUG: Trying rule: workon_doesnt_exists; took: 0:00:00.000018
DEBUG: Trying rule: yarn_alias; took: 0:00:00.000017
DEBUG: Trying rule: yarn_command_not_found; took: 0:00:00.000016
DEBUG: Trying rule: yarn_command_replaced; took: 0:00:00.000015
DEBUG: Trying rule: yarn_help; took: 0:00:00.000014
DEBUG: Trying rule: git_hook_bypass; took: 0:00:00.000019
DEBUG: Trying rule: git_main_master; took: 0:00:00.000013
DEBUG: Trying rule: man_no_space; took: 0:00:00.000002
DEBUG: Trying rule: no_command; took: 0:00:00.000086
DEBUG: Trying rule: missing_space_before_subcommand; took: 0:00:00.000049
DEBUG: Trying rule: wrong_hyphen_before_subcommand; took: 0:00:00.000011
DEBUG: Trying rule: long_form_help; took: 0:00:00.000167
DEBUG: Trying rule: history; took: 0:00:00.001910
ga . [enter/↑/↓/ctrl+c]

If the bug only appears with a specific application, the output of that application and its version:

git 2.40.1

Anything else you think is relevant:

I am using git aliases, i dont remember which ones. In my case I only want it to run the command recommended in the error message.