git冲突管理
2024-10-09 20:25:32
Diff
- 查看工作区(working directory)和暂存区(staged)之间差异:
git diff
- 查看工作区(working directory)与当前仓库版本(repository)HEAD版本差异:
git diff HEAD
- 查看暂存区(staged)与当前仓库版本(repository)差异:
git diff --cached
/git diff --staged
- 不查看具体改动,只查看改动了哪些类:
git diff --stat
Merge
![](./_image/2016-07-14 20-53-25.jpg?r=80)
- 解决冲突后/获取远程最新代码后合并代码:
git merge branchname
,将 branchname 分支上面的代码合并到当前分支 - 保留该存在版本合并log:
git merge --no-ff branchname
参数--no-ff
防止 fast-forward 的提交,详情参考:the difference,fast-forward:分支内容一致,指针直接移动,并未能看出分支信息
Rebase
Rebase 同 Merge 的结果是一样的,就是合并本地、远程的改动,但过程中还有区别。
git checkout mywork
git rebase origin
这些命令会把你的"mywork"分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁 放到".git/rebase"目录中),然后把"mywork"分支更新 到最新的"origin"分支,最后把保存的这些补丁应用 到"mywork"分支上。 一张图分清 rebase 和 merge 的区别
![](./_image/2016-07-19 20-35-30.jpg?r=56) 在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决冲突;在解决完冲突后,用 git-add
命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行: git rebase --continue
这样git会继续应用(apply)余下的补丁。在任何时候,你可以用 --abort 参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。 git rebase --abort
==============================================================
Git飞行规则(Flight Rules)
最新文章
- Handler系列之内存泄漏
- xp 下查看进程指令
- JQ返回顶部代码分享~~~~
- kendo ui 富文本编辑控件 Editor 实现本地上传图片,并显示
- Fedora 24最新工作站版本之四大重要改进
- Oracle_下载地址
- Hangover 分类: POJ 2015-06-11 10:34 12人阅读 评论(0) 收藏
- 用JS打开网页时自动更改css样式,可用于处理浏览器兼容
- Memcached 在windows环境下安装
- XAML设计器卡死
- Node.js 的Web server--Fenix
- 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 四 档案的文件系统的压缩和打包
- react-native模拟机调试步骤详解 ——亲测有效!!!!
- 环境与工具2:建立高效的mac环境
- jsfl 删除库指定内容
- ES6中Object.assign() 方法
- arm那些事
- ARMCortex系列仿真调试器
- string的函数的学习
- SOA面向服务架构——SOA的概念
热门文章
- 机器学习入门之python实现图片简单分类
- [jzoj]4216.【NOIP2015模拟9.12】平方和
- 【C语言程序】输出前50个素数
- IDEA_教你十分钟下载并破解IntelliJ IDEA(2017)(转)
- PermissionDispatcher 运行时权限框架
- 日期求星期(java)-蓝桥杯
- andorid简易定位
- (转)JDK 1.8 预览版Lambda语法分析
- UIPullRefreshFlash模块demo示例
- Machine Learning, Homework 9, Neural Nets