前两天前端同事遇到了一个问题,我协助查看了一下:git客户端tortoiseGIT不能进行pull和push操作了。
报错信息如下:
image.pnggit.exe pull --progress -v --no-rebase "origin"
error: cannot spawn git: Invalid argument
git did not exit cleanly (exit code 1) (156 ms @ 2018/8/14
解决问题的思路:
思路1:当前git项目的代码不是最新的,提交冲突
起初以为当前项目代码不是最新的,需要pull拉取最新代码,然后再进行提交。
先备份代码,防止pull操作会把本地代码覆盖掉。
此时发现pull操作也不行,怀疑还是和本地代码有冲突。
思路2:删除本地工作目录代码,然后从本地版本库还原代码。
删除工作目录代码,再从本地代码库还原。再复制备份的代码到工作目录,进行提交。发现还是不可以,依然报错。
思路3:类似SVN的clean操作。
用过svn的同学都知道,svn代码会有冲突时,一些目录会被锁住,此时clean操作就行了。于是在git中也进行操作:
image.png
image.png
操作后,再次进行pull、push操作依然不可以。
思路4:重新克隆项目
之前的思路就是觉得本地工作目录与代码库有文件或版本冲突,进行不了push、pull操作。那就在一个干净的文件夹目录重新clone项目,此时代码不会存在冲突。
经过重新克隆项目,再次将备份的修改过的代码覆盖到工作目录,进行push提交,依然不行。此时,我们开始怀疑是tortoiseGIT或者git软件的问题了。
解决:因为git版本太旧了,重新下载git。
我在网上找了找类似的问题,一个英文的网站提到过此问题,原因是Git for Windows 2.16.1(2)和2.16.1(3)这两个版本出现的问题。下载新版本便可以解决此问题。
于是进行了操作,卸载git for windows,重新下载新版本。
安装,一系列操作过后,在进行pull操作,就可以了
原来是git for windows软件的坑。希望网友如果遇到类似问题,我的答案能够帮助到你。即使不能帮助你,也能提供一些思路。
码字辛苦,看到的请点赞吧。: > 欢迎留言讨论。
网友评论