Git以前一直在工作但是今天当我在任何git目录中执行git status
时,我收到以下错误:
sh: /Users/xxx/.zsh/bin/diff-highlight: No such file or directory
我的$ PATH是:
/Users/xxx/.composer/vendor/bin:/Documents/Ruby:/usr/texbin:/Users/xxx/.rbenv/shims:/Users/xxx/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Library/TeX/texbin:/Users/xxx/.composer/vendor/bin:/Documents/Ruby:/usr/texbin:/Users/xxx/.rbenv/shims:/Users/xxx/.fzf/bin
为什么我收到此错误?
答案 0 :(得分:1)
安装/更新到最新的Git版本,主要使用适当的包管理工具,如HOMEBREW,通常可以解决与安装和缺少脚本/工具相关的问题。
由于某些原因,我的系统在发出Git命令时也没有找到 diff-highlight 。在仔细检查的时候,我发现我为我的全局Git设置了 diff-highlight 作为寻呼机,每当我尝试执行git sub-command(status / show / log)时,我找不到寻呼机想要发挥作用:
/ > git log
/usr/local/share/git-core/contrib/diff-highlight/diff-highlight | less -r: /usr/local/share/git-core/contrib/diff-highlight/diff-highlight: No such file or directory
通过brew install git
或brew update git
再次安装Git后,它已更新到最新版本(2.13.x),并且所有Git工具/文件都已重置为正常位置。要获取brew安装放置脚本/工具和Git命令,文件的位置,您可以发出:
/ > brew info git
git: stable 2.13.0 (bottled), HEAD
Distributed revision control system
https://git-scm.com
/usr/local/Cellar/git/2.13.0 (1,463 files, 33.2MB)
在我存储全局设置的〜/ dotfiles 文件夹下,还有Git,我将寻呼机设置更新为 diff-highlight 的正确位置在〜/ dotfiles / git / gitconfig 文件中:
[core]
excludesfile = /Users/<user_name>/.gitignore_global
pager = /usr/local/Cellar/git/2.13.0/share/git-core/contrib/diff-highlight/diff-highlight | less -r
对于全局设置,我使用的是Jack's Dotfiles的自定义版本。
答案 1 :(得分:0)
我发现了问题。在我的.zsh目录中,我删除了具有diff-highlight可执行文件的子文件夹/ bin。把/ bin放回来解决了这个问题。