rebase和merge的区别
假设现在有两个分支 A B
1. 在B分支上执行 git merge A 后 A就被合到B上了
2. 在B分支上执行 git rebase A 后,效果与merge是一样的,但是 A就没有了,两个分支就合在一起了。
Git push,merge,pull,fetch,rebase各自在什么场景下使用
1.rebase是先忽略你的提交,把合并分支的东西拉进来,再把你的提交加进去。这样log是线性的,有点类似于传统的版本控制工具,相当于更新了基础版本
2.merge是找到两个分支共同的祖先,再做一次三方合并,产生一次新的提交
这两者的优劣很难说清,需要在使用中去体会,根据情况选择使用
基本上顺序是这样的:
你修改好了代码,先要提交
git commit -am “commit message"
然后有两种方法来把你的代码和远程仓库中的代码合并
a. git pull这样就直接把你本地仓库中的代码进行更新但问题是可能会有冲突(conflicts),个人不推荐
b. 先git fetch origin(把远程仓库中origin最新代码取回),再git merge origin/master(把本地代码和已取得的远程仓库最新代码合并),如果你的改动和远程仓库中最新代码有冲突,会提示,再去一个一个解决冲突,最后再从1开始
如果没有冲突,git push origin master,把你的改动推送到远程仓库中
至于rebase很容易和merge混淆,因为就结果而言,两条命令是类似的,具体请看
http://git-scm.com/book/zh/ch3-6.html
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!