Mac终端自定义配置后启动出现Git fatal错误求助
解决终端启动时Git命令报错的问题
别担心,这个问题真的超常见,完全和你对Git不熟悉没关系~
问题原因
你用的那个自定义终端配置文件,应该是在你的shell启动脚本(比如Mac默认Zsh的.zshrc,或是Bash的.bash_profile)里加了自动执行git fetch && git status的命令。但当你打开终端时,如果当前目录不是Git仓库,或者这个Git仓库没配置远程仓库,这条命令就会触发你看到的错误。
解决步骤
打开你的shell配置文件
- 如果你用的是Mac默认的Zsh,在终端输入:
open ~/.zshrc - 如果是Bash,输入:
open ~/.bash_profile(或是open ~/.bashrc)
这会用系统默认编辑器打开配置文件。
- 如果你用的是Mac默认的Zsh,在终端输入:
修改Git命令的执行逻辑
在文件里找到包含git fetch && git status的行,把它替换成下面的代码:# 仅在Git仓库目录下执行Git操作 if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then git fetch && git status fi简单解释下:
git rev-parse --is-inside-work-tree会悄悄检查当前目录是不是Git仓库,是就返回“成功”状态> /dev/null 2>&1是把检查过程的多余输出藏起来,避免终端乱显示无关内容- 只有检查通过时,才会执行
git fetch和git status,这样就不会在非Git目录报错了
让修改立刻生效
保存配置文件后,回到终端输入对应的命令:- Zsh用户:
source ~/.zshrc - Bash用户:
source ~/.bash_profile
之后再打开终端,就不会看到那个烦人的错误啦~
- Zsh用户:
额外小提示
如果你的某个Git仓库确实需要关联远程仓库,但之前没配置,也可以进入该仓库目录后执行git remote add origin <你的仓库地址>(不过这个是进阶操作,先解决终端报错的问题就好)
内容的提问来源于stack exchange,提问作者Jesús Fernández
相关产品推荐
相关产品推荐

