使用idea的git插件控制代码分支合并时,由于操作不当,报错了,控制台报错如下:
cant checkout because of unmerged files,you have to resolve all merge conflicts before checkout.
仔细回想报错的起因,经过大概是这样的:首先,远程仓库里面的代码版本是很老了,而本地的代码版本比较新,因此在合并时,我首先使用了stash命令,保存了本地新改的代码,然后使用了pull命令拉取了远程分支的代码,合并结束后,再使用unstash changes命令来放开暂存的代码,结果就报了这个错误.然后其他的git操作都会报这个错,所以,必须得先解决这个问题,才能继续接下来的操作。
怎么解决呢?很简单,三条Git命令就可以了,打开terminal终端,输入如下命令:
git merge git reset git pull
就可以把代码从远程仓库拉取下来了.
这里简单说一下git reset和git revert 两个命令的区别:git reset 可以理解为重置,是变更HEAD指针位置,使其指向之前存在的版本,不过指针移动之后,目标版本之后的版本都会不存在了;
git revert 可以理解为撤销操作,但是这次撤销之后的版本,git会把操作过的代码版本作为一个最新的版本进行管理.