git版本冲突:not concluded your merge (MERGE_HEAD exists). hint: P
Author:zhoulujun Date:
今天在submodule里面先commit,然后用命令行pull,发现需要merge ,取消了merge,然后再pull 或者push,就会提示
You have not concluded your merge (MERGE_HEAD exists). hint: Please, commit your changes
首先确定是保留本地的修改。想intellij编辑器无所谓,因为有本地history,可以随时恢复
放弃merge解决
取消某次合并,命令
git merge --abort #如果Git版本 >= 1.7.4 git reset --merge #如果Git版本 >= 1.6.1
我是选择 git merge --abort
git merge --abort
此命令回到解决冲突之前的状态。
该命令仅仅在合并后导致冲突时才使用。
git merge --abort将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,git merge --abort在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)。建议使用git-stash命令将这些未commit文件暂存起来,并在解决冲突以后使用git stash pop把这些未commit文件还原出来。
暂存命令stash使用
git stash #将本地修改暂时存储起来 git stash list #查看暂存的信息 git stash pop #应用最近一次暂存的内容 git stash apply stash@{1} #应用指定版本的暂存内容 git stash clear #清空暂存栈
回退到某个版本并应用指定的几次提交
git reset --hard 1d7444 #回退到某个版本 git cherry-pick 626335 #将某次commit的更改应用到当前版本 git cherry-pick … git push origin HEAD --force #强制提交
最好选择第一种方法。
重置git head解决
执行git fetch --all
执行git reset --hard origin/yourBranch ----> git reset 把HEAD指向刚刚下载的最新的版本
pull主分支下的代码
解决冲突,然后提交代码到自己的分支那里
本地覆盖远程推送
git push -u [远程分支] -f
git push -u origin yourBranch -f
参考文章:
https://blog.csdn.net/daotiao0199/article/details/82757056
转载本站文章《git版本冲突:not concluded your merge (MERGE_HEAD exists). hint: P》,
请注明出处:https://www.zhoulujun.cn/html/tools/VCS/git/8609.html