Life, half is memory, half is to continue.

Git报错处理

By Vincent. @2025.4.14 • 9.7K
Git报错处理

Pull is not possible because you have unmerged files

  1. 将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。
  2. git pull就会成功。
git reset –hard FETCH_HEAD
git pull

unable to auto-detect email address

方案1: 修改配置文件

找到工程目录 (Project) 的.git文件夹,打开之后找到config文件,在最后边加上一句话

[user]
    email=your email
    name=your name

方案2: 在终端中修改

git config user.name 你的github用户名
git config user.email 邮箱地址

OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

//取消http代理
git config --global --unset http.proxy
//取消https代理 
git config --global --unset https.proxy

error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset

这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错

git config --global http.sslVerify "false"

git拉取报错 在签出前,请清理存储库工作树

问题一定是是git仓库上的代码和本地代码存在冲突了所以会报这个报错。

  1. 解决冲突
  2. 放弃本地修改,直接覆盖

注:本地文件在被覆盖之前一定要做好备份。

在vs命名行中输入这两个命令就好了

git reset –hard
git pull

Pulling is not possible because you have unmerged files

git add -u
git commit -m””
git pull

先将文件先存放到暂存区然后提交注释,再git pull不报错了

这种报错一般是以为有冲突的文件,需要解决冲突或者合并文件,解决完或者合并之后需要重新提交,不限于pulling

关于git reset 三种使用方式如下

git reset (–mixed) HEAD~1

回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也 不受影响)

git reset –soft HEAD~1

回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)

git reset –hard HEAD~1

回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

设置 user.name user.email

可以通过 git config --global user.name "你的用户名" 和 git config --global user.email "你的邮箱地址" 命令来全局配置 user.name 和 user.email。如果你只想为当前项目配置,可以移除 --global 参数,或者在项目目录下直接运行 git config user.name "你的用户名" 和 git config user.email "你的邮箱地址"

全局配置

这会将你的用户名和邮箱地址设置为你所有 Git 项目的默认值。 

设置用户名:bashgit config --global user.name "你的用户名"
设置邮箱:bashgit config --global user.email "你的邮箱地址"

单个项目配置

如果你只想为当前项目设置用户名和邮箱,可以在进入项目目录后,直接使用以下命令: 

设置用户名:bashgit config user.name "你的用户名"
设置邮箱:bashgit config user.email "你的邮箱地址"

查看配置

你可以使用以下命令来查看当前的配置: 

查看用户名:bashgit config user.name
查看邮箱:bashgit config user.email
扫码分享收藏
扫码分享收藏