Git提交时意外出现「Nothing specified, nothing added」提示问题求助
以下是针对该异常的排查和解决步骤:
检查Git别名配置
执行git config --list | grep alias,查看是否存在异常的commit别名。比如是否误将commit设置成包含git add(无路径参数)的组合命令,这种情况下执行git commit时会额外触发一次空参数的git add,导致错误提示。如果发现异常别名,用git config --global --unset alias.commit(全局)或git config --local --unset alias.commit(本地仓库)删除。排查Git钩子脚本
进入本地仓库的.git/hooks目录,检查pre-commit、prepare-commit-msg等钩子文件。如果这些脚本中存在git add未指定路径的命令,会在提交过程中执行并输出错误提示。可以临时重命名这些钩子文件(比如pre-commit改成pre-commit.bak),然后重新测试提交,看是否还会出现错误提示。如果问题消失,再逐一排查具体是哪个钩子脚本导致的问题。确认Git环境路径
执行which git,确认当前使用的是Homebrew安装的Git(路径应为/opt/homebrew/bin/git(Apple Silicon芯片)或/usr/local/bin/git(Intel芯片))。如果输出是系统自带的Git路径(/usr/bin/git),说明PATH优先级有问题,需要将Homebrew的bin目录添加到PATH前面。可以修改~/.zshrc或~/.bashrc文件,添加export PATH="/opt/homebrew/bin:$PATH"(或对应Intel的路径),然后重启终端生效。重置Git配置
如果怀疑是配置错乱导致的问题,可以先备份当前Git配置(cp ~/.gitconfig ~/.gitconfig.bak),然后执行git config --global --unset-all清空全局配置,重新设置用户名和邮箱(git config --global user.name "你的名字"、git config --global user.email "你的邮箱"),再测试提交是否正常。重装Git
若以上方法都无效,尝试卸载并重装Homebrew的Git:brew uninstall git brew cleanup git brew install git重装后重新配置Git信息,再测试提交流程。
内容的提问来源于stack exchange,提问作者William Turrell

