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

今天把自己写的项目分支合并到master时,出现以下问题

问题一:

Please enter a commit message to explain why this merge is necessary.

请输入提交消息来解释为什么这种合并是必要的
在这里插入图片描述
git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

  1. 按键盘字母 i 进入insert模式

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

  3. 按键盘左上角"Esc"

  4. 输入":wq",注意是冒号+wq,按回车键即可


问题二:

在这里插入图片描述
解决办法:

第一步:回到合并前状态

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

解决办法:

保留本地的更改,中止合并->重新合并->重新拉取

git merge --abort   //中止合并
git reset --merge   //撤销合并
git pull            //拉去代码

问题四:

在这里插入图片描述
解决办法:

git reset --hard head  //回退版本信息

该命令是回退版本信息,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用git合并分支解决冲突的过程如下: 1. 首先,当我们在合并分支遇到冲突,我们需要先找到冲突的文件。这些文件中的冲突部分会被标记出来,以便我们进行解决。 2. 接下来,我们需要打开冲突的文件,查看冲突部分的代码。冲突会以特定的标记形式呈现,通常是<<<<<<<,=======和>>>>>>>这样的标记。 3. 我们需要手动编辑冲突部分的代码,将其中的冲突解决掉。我们可以选择保留其中一个分支的更改,也可以将两个分支的更改合并在一起。根据实际情况,可以借助IDE或文本编辑器来辅助解决冲突。 4. 在解决完冲突后,我们需要保存文件并进行git add操作,将文件标记为已解决冲突。 5. 最后,我们可以继续进行git commit和git push操作,将解决冲突后的代码提交到版本库中。 总结起来,解决git合并分支的冲突需要以下步骤:找到冲突文件,手动编辑冲突部分的代码,保存文件并进行git add,最后进行git commit和git push操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [git合并分支如何解决冲突](https://blog.csdn.net/new9232/article/details/122328566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [如何解决Git合并分支造成的冲突](https://blog.csdn.net/nkmkbhjkb/article/details/129158387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0rta1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值