Git :合并分支时遇到问题的解决办法

问题一:
Please enter a commit message to explain why this merge is necessary.

请输入提交消息来解释为什么这种合并是必要的

image
git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

按键盘字母 i 进入insert模式

修改最上面那行黄色合并信息,可以不修改

按键盘左上角"Esc"

输入":wq",注意是冒号+wq,按回车键即可
问题二:
image
解决办法:

第一步:回到合并前状态

git merge -abort // 中止合并
rm .git/.MERGE_MSG.sw* //删除 vim 非正常关闭产生的文件
git merge -abort // 中止合并
rm .git/.MERGE_MSG.sw* //删除 vim 非正常关闭产生的文件
第二步:重新合并

合并提交信息页面,使用 :wq! 或者 :q! 正常退出 VIM ,就能正常合并。
PS: 如果 .git/MERGE_* 文件中 只有 MERGE_MSG 文件的话,不用执行 git merge -abort ,直接删除 .MERGE_MSG.sw* 文件就好。

其实就是两个分支在合并的时候合并文件非正常退出,或者合并文件正在被另一个程序修改(换句话说就是别人也在执行两个分支合并这件事),我觉得最佳方案是,先终止合并,删除 vim 非正常关闭产生的文件,询问团队内是否有人在执行合并,如果没人,此时再重新执行合并。
————————————————
问题三:
fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you
解决办法:
image

保留本地的更改,中止合并->重新合并->重新拉取
git merge --abort //中止合并
git reset --merge //撤销合并
git pull //拉去代码
问题四:
image

解决办法:
git reset --hard head //回退版本信息
该命令是回退版本信息,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
image

posted @   月花夕沉  阅读(1517)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示