0


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的代码,本人没有使用过,据说是危险操作,慎用
标签: git rebase

本文转载自: https://blog.csdn.net/Juniorselk/article/details/124423792
版权归原作者 Erukusanze 所有, 如有侵权,请联系我们删除。

“git pull rebase出现冲突原因以及解决方案”的评论:

还没有评论