赞
踩
关于git分支的管理,近期在大佬的推荐下,从之前的merge更换到了rebase,因为个人也是刚使用,不太熟悉所以闹了不少笑话。简单记录分享一下个人使用rebase遇到的一些问题。
大概是因为rebase可以保持graph的整洁和干净,具体不展开,可以参考文章使用 git rebase 编写清晰的提交记录 - 掘金
全局设置pull使用rebase可以通过命令行设置:
git config --global --add pull.rebase true
查看是否设置成功
git config --global -l
这里显示pull.rebase=true就是设置成功了。
git config --global --unset pull.rebase
分享一下个人定位的原因,可能不准确,仅作参考,欢迎指出问题。
原因分析
当我们git pull origin <远程分支>的时候, 将指定远程分支的代码和记录pull到了我们本地,但是并未同步到当前分支的远程分支,所以我们的远程分支代码是落后于本地分支当前代码的。
如何避免?
只需要在pull了代码之后,直接git push将我们从指定远程分支更新的代码同步到远程分支,就不会出频频出现,你想push你改动的代码到你当前分支的远程分支,却提示你需要pull更新,git pull代码后,明明你没有改动的代码,却出现了冲突这样的问题。
总结一下,就是本地分支更新了当前分支的源分支代码后,却没有同步到当前分支的远程分支,就会出现这个问题。只需要在我们更新了主分支代码后直接push同步到当前分支的远程分支,就能基本避免此类冲突问题。
- git rebase --continue // 手动处理完冲突后,需要继续处理冲突时会用到
- git rebase --abort // 放弃本次变基,回退到git pull之前的状态
- git rebase --ship // 删除本次commit的代码,本人没有使用过,据说是危险操作,慎用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。