Git合并多分支及冲突解决

工作场景

工作场景中我们常常会遇到以下情况:
小明:靓仔/妹,我上线那天有事情,我的那个分支你帮我一起推一下
摸鱼崽:帮我也合一下,好哥哥
我:好(你)呀(md)
如果在这种时候你说我不会,我只会add,commit、push我本地的,你的分支我哪儿会啊,是不是有点尴尬(面子不重要,技术不能被怀疑啊喂!)
下面我们就来说说合并Git多fetch的方法

合并多分支

1.首先,确保你已经将远程仓库添加为本地仓库的远程源

git remote add <remote_name> <remote_url>
#remote_name 是你给远程仓库起的名称,remote_url 是远程仓库的 URL

2.使用 git fetch 命令从远程仓库获取最新的更新,可以获取多个远程分支的更新

git fetch <remote_name> <branch_name1> <branch_name2> ...
#branch_name1、branch_name2 等则是远程仓库的分支名称。

3.这样,就可以将多个branch的更新合并到本地仓库进行提交啦,不过需要注意一下,在你将别人的分支fetch到本地后,虽然你在本地已经有了那个分支的最新代码,但是它还不在你本地分支的历史记录中。如果你直接进行add、commit、push的操作,相当于是在本地创建了一个全新的提交记录,它没有与远程分支的历史记录合并,这样会导致远程分支和本地分支出现分歧,而且在将来的合并操作中可能会导致冲突

为了避免这种问题,你需要使用git merge命令将远程分支合并到本地分支中。这将在本地分支的历史记录中创建一个新的提交记录,该记录包含远程分支的最新更改,同时保留了本地分支的更改。这样就可以确保你的本地分支与远程分支的历史记录保持同步,减少未来合并操作中出现冲突的可能性

解决冲突

如果不出意外的话意外就发生了,你在合并的时候遇到冲突了,虽然心里一万头那个什么马在奔腾,咱还是得耐着性子去解决,总不能把人家请假的人拉回来吧
1.确认冲突:使用git status命令查看当前仓库状态,确认哪些文件发生了冲突,控制台输出大概如下

On branch fail_brach   #出现问题的分支
You have unmerged paths.
  (fix conflicts and run "git commit")

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:   moyuzai.py    #存在冲突的文件

no changes added to commit (use "git add" and/or "git commit -a")

2.切换到目标分支:使用git checkout命令切换到目标分支,例如:git checkout main。

3.合并分支:使用git merge命令合并需要合并的分支,例如:git merge feature_branch

举例:如果你现在在feature_branch分支中,想要将main分支合并到feature分支中,需要先执行命令git checkout main,切换到main分支中,再执行git merge feature_branch命令

4.解决冲突并提交:去打开发生冲突的文件,手动解决冲突(好像解决掉制造冲突的人),并将解决冲突后的文件add到暂存区,然后commit

5.切换回原分支:使用git checkout命令切换回原分支,例如:git checkout Mybranch

6.合并分支:再次使用git merge命令将目标分支合并到当前所在分支中,例如:git merge XXX

7.如果这时候还有冲突,重复步骤4

8.再次提交更改,并push到对应的远程仓库

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有被蠢哭到

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

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

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

打赏作者

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

抵扣说明:

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

余额充值