1、报错: fatal: refusing to merge unrelated histories
解决方案: 操作命令后面加–allow-unrelated-histories
git merge master --allow-unrelated-histories # merge时 git pull origin master --allow-unrelated-histories # pull时 git push origin master --allow-unrelated-histories # push时
2、报错: error: Your local changes to the following files would be overwritten by merge
方案一:通过commit的方式解决这个冲突问题
方案二:
方法1:stash
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
git stash git commit git stash pop
方法2:放弃本地修改,直接覆盖
git reset --hard git pull
3、报错:error: You have not concluded your merge (MERGE_HEAD exists)
此时可能是因为同步过程中,出现冲突,需要解决合并冲突的状态
解决方案一:保留本地的更改,中止合并->重新合并->重新拉取
git merge --abort git reset --merge git pull
解决方案二:舍弃本地代码,远端版本覆盖本地版本(慎重)
git fetch --all git reset --hard origin/master git fetch
4、报错:error: unable to read askpass response from 'C:/Program Files/Git/mingw64/bin/git-askpass.exe'
1)执行命令及操作如下:跳出从浏览器登录github的提示框
2)点击Sign in with your browser,如下:
3)查看命令行如下:
4) git config --list 查看配置列表,发现没有askpass相关
5)执行配置:
$ git config --global core.askpass C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass
再执行上述步骤相关还是报错:error: cannot spawn usrbinssh-askpass: No such file or directory
6)执行命令:查询git bash是否正常连接
ssh -T [email protected]
继续报错:
原因:预估DNS解析问题
解决方案:打开cmd输入ping命令查看github.com是否可以连接,正常ping,说明正常
解决方案:配置本地hosts文件
打开文件地址:C:\Windows\System32\drivers\etc\hosts
在此文件末尾加上以下内容:
192.30.255.112 github.com git 185.31.16.184 github.global.ssl.fastly.net
再ping
再次 ssh -T [email protected]
依然报错,实在没有办法!!碰到了此篇文章:https://blog.csdn.net/ReCclay/article/details/121254869 (将HTTPS链接更换为SSH链接)
然后,成了成了,如下:
标签:git,--,stash,merge,Git,报错,使用,过程 From: https://www.cnblogs.com/xiaoyanguniang/p/16360019.html