git pull rebase出现冲突原因以及解决方案

关于git分支的管理,近期在大佬的推荐下,从之前的merge更换到了rebase,因为个人也是刚使用,不太熟悉所以闹了不少笑话。简单记录分享一下个人使用rebase遇到的一些问题。

1,为什么使用rebase?

大概是因为rebase可以保持graph的整洁和干净,具体不展开,可以参考文章使用 git rebase 编写清晰的提交记录 - 掘金

2,如何设置或使用?

全局设置pull使用rebase可以通过命令行设置:

git config --global --add pull.rebase true

查看是否设置成功

git config --global -l

这里显示pull.rebase=true就是设置成功了。

3,如何取消全局设置?

git config --global --unset pull.rebase

4,当使用rebase的时候出现冲突了怎么办?

分享一下个人定位的原因,可能不准确,仅作参考,欢迎指出问题。

原因分析

当我们git pull origin <远程分支>的时候, 将指定远程分支的代码和记录pull到了我们本地,但是并未同步到当前分支的远程分支,所以我们的远程分支代码是落后于本地分支当前代码的。

如何避免?

只需要在pull了代码之后,直接git push将我们从指定远程分支更新的代码同步到远程分支,就不会出频频出现,你想push你改动的代码到你当前分支的远程分支,却提示你需要pull更新,git pull代码后,明明你没有改动的代码,却出现了冲突这样的问题。

总结一下,就是本地分支更新了当前分支的源分支代码后,却没有同步到当前分支的远程分支,就会出现这个问题。只需要在我们更新了主分支代码后直接push同步到当前分支的远程分支,就能基本避免此类冲突问题。

5,关于rebase处理冲突可能需要用到的一些指令

git rebase --continue    // 手动处理完冲突后,需要继续处理冲突时会用到
git rebase --abort       // 放弃本次变基,回退到git pull之前的状态
git rebase --ship        // 删除本次commit的代码,本人没有使用过,据说是危险操作,慎用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值