git两种合并方法 比较merge和rebase

简介: 18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用merge,所以好像都是用rebase却别讲解,比如:在服务器上的develop分支有多人在开发,你们...


18:01 2015/11/18
git两种合并方法 比较merge和rebase
其实很简单,就是合并后每个commit提交的id记录的顺序而已
注意:重要的是如果公司用了grrit,grrit不允许用merge,所以好像都是用rebase
却别讲解,比如:在服务器上的develop分支有多人在开发,你们同时clone或pull下来最新代码,但是开发进度不一样,你在开发一个任务的时候其他人提交了编号为1,2的commit和push,你现在开发完了也要提交,你的提交编号是3,4(注意:编号不代表顺序现实中其实是很长的随机字符串),现在rebase是让你代码的提交到其他人的之后
讲解博客:http://blog.csdn.net/jollyjumper/article/details/24743751
推荐博客:http://blog.csdn.net/wh_19910525/article/details/7554489
开始几次没用到,所以没看懂,后来用到了,带我的人给我解释了,所以看懂了
其实以为懂了,后来带领我的人亲口讲解之后才算明白了。
需要注意的是当你clone代码(develop分支)之后,在本地clone下来的代码中又新建了自己的工作分支(git bash命令窗口)进入克隆下来的代码文件夹后 git checkout -b mywork(---这是为了随时可以接收新的新的紧急开发或bug任务,不至于开发未完成而影响接收新任务或需要其他备份处理操作,因为此时可以再从develop分支上新建新的任务工作分支:git checkout -b mywork2进行新任务开发)的时候rebase是从本地的clone下来的代码进行交互,而不是与服务器上的代码进行交互,除非特殊声明代码可和分支,(重点:所以在自己的开发分支上完成开发任务后要切换回到原来的clone分支develop:git checkout develop,然后:gi pull origin develop,然后再切换到开发分支:git checkout mywork,这时候进行rebase才会有效)我就在这里一直迷糊,后来才明白。merge应该同理。
当然,我猜应该有其他方式,就是让工作分支和服务器直接进行交互pull和push,但是那就很大程度失去了工作分支的意义了,几乎没有创建工作分支的意义了。
总算明白了

相关文章
|
2月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
292 103
|
6月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
478 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
3月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
314 20
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
465 15
|
5月前
|
API 开发工具 git
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
247 0
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
|
5月前
|
Java 程序员 项目管理
Java 程序员不容错过的 Git Flow 全套学习资料及应用方法详解 Git Flow
本文详细介绍了Git Flow技术方案及其在Java项目中的应用实例,涵盖分支管理、版本发布与紧急修复流程,帮助开发者掌握高效的代码管理方法,提升团队协作效率。附示例操作及代码下载链接。
168 0
|
9月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
1473 60
|
8月前
|
开发工具 git C++
利用Cmake展示Git内容的方法
总的来说,CMake和Git是强大的工具,通过合理的使用,可以极大地提高开发效率。
193 24
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
350 10