mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息(即:原来这个分支的做了什么在log中体现不出来)。
为了保留原来的分支,即:普通合并,这样的话,merge的时候会提交一个commit,就会输入-m参数,在log中体现的也更清晰!
前面我们解决冲突的时候发现,我们解决冲突之后,即使
是在master主分支上合并dev,最后查看日志的时候:
git log --graph --pretty=oneline --abbrev-commit
发现其实合并前后只有一条线,master和mzy指向的是同一个结点。这样完全看不出合并的痕迹。
但使用--no-ff的话,禁用Fast forward,使用普通合并,就能在合并的位置看到一个commit 突出的合并节点!
假如我们当前在master分支上:
git merge --no-ff -m "把dev分支上的内容合并到master上,使用普通合并" dev
$ git log --graph --pretty=oneline --abbrev-commit
* 8fc444b (HEAD -> master) merge with no-ff
|\
| * 1601be9 (dev) add merge
|/
* 4aa96bc 修改了readme.txt
* 68f4f31 修改LICENSE
* 6653ea8 Merge branch 'yao' into mzy
这样的话,就很利于团队开发了!
大家都在自己的分支上干活,时不时的往dev上合并,最后定期合并到master上就好了!这样也能看出我们的分支的信息,以及什么时候合并过,更直观!默认的fast forward我们是看不出痕迹的!
团队中开发怎么用呢?
首先有master分支:
在master分支上创建一个master的分支,dev(开发分支):
git checkout master 切换到master上
git checkout -b dev (创建并切换到了dev分支上了)
git branch mzy_a (在dev上为dev创建mzy_a分支)
git branch mzy_b (在dev上为dev创建mzy_b分支)
git branch mzy_c (在dev上为dev创建mzy_c分支)
... ...git merge --no-ff -m "" 分支名称。
mzy git学习,禁用Fast forward的普通合并(六)的更多相关文章
- Git:非Fast forward下的合并(--no-ff方式的git merge)
创建dev分支,并且修改readme.txt的内容,然后提交 使用git merge --no-ff -m "说明内容" 分支名称合并分支 使用git log --graph -- ...
- mzy git学习, 保留现场,恢复现场,以及bug分支处理(七)
git stash 在git中有时候我们工作做了一半,但是有点急事需要离开一段时间,或者现在需要切换到另一个分支下,去维护和修改一些其它的东西,但是我们现在的工作还没有完成,提交上去的话,并不是完整的 ...
- Git 分支管理 不使用Fast forward模式进行合并 分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...
- mzy git学习,初识git(一)
GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...
- mzy git学习,git推送到远程库(八)
git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭 ...
- mzy git学习,分支以及分支合并(四)
git 鼓励大量使用分支:最后进行master和分支之间的合并 git branch git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来. [一定要注意git的分支有从属概念 ...
- Git分支(3/5) -- 禁用 Fast Forward 合并
添加一个分支, 并且换到该分支: git checkout -b add-text 然后我再index.html里面添加点文字, 并commit. 然后再修改README.md, 添加文字, comm ...
- mzy git学习,git协同开发忽略文档配置以及一些杂点(九)
回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keyge ...
- mzy git学习,分支冲突,以及冲突解决(五)
冲突解决: 先尝试制造冲突: 首先我:git checkout -b mzy 创建一个mzy的分支 然后在其中修改readme.txt文件,随便加上一点东西. vim readme.txt wri ...
随机推荐
- LeetCode通关:听说链表是门槛,这就抬脚跨门而入
分门别类刷算法,坚持,进步! 刷题路线参考:https://github.com/youngyangyang04/leetcode-master https://github.com/ch ...
- Luogu2839 [国家集训队]middle 题解
题目很好,考察对主席树的深入理解与灵活运用. 首先看看一般解决中位数的思路,我们二分一个 \(mid\),将区间中 \(\ge mid\) 的数置为 \(1\),小于的置为 \(-1\),然后求区间和 ...
- [NOIp2017]宝藏 题解
非常巧妙的 \(O(n^23^n)\) 做法. 题目的本质是要求一棵生成树,使得其每条边的长度与这条边的起点深度乘积的和最小. 我们使用状压 DP,考虑到当前状态与已经打通的点和深度有关,不妨设 \( ...
- SQL SERVER Date列和Time列合并成一列处理报表数据
问题原由: intouch项目中,利用intouch脚本来存储数据时,存入的时间格式为:date,time分开存储.在报表需求中,有需要利用查询两个时间段之间的数据. 问题解决: 1.直接写脚本(写出 ...
- 在nodejs中利用 Proxy监听对象值的获取
1 window = new Proxy(global, { 2 get: function (target, key, receiver) { 3 console.log("window. ...
- 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了
今天收到运营同学的一个 SQL,有点复杂,尤其是这个 SQL explain 都很长时间执行不出来,于是我们后台团队帮忙解决这个 SQL 问题,却正好发现了一个隐藏很深的线上问题. select a. ...
- RHCE_DAY07
文件共享服务FTP介绍 FTP(File Transfet Protocol):文件传输协议 FTP是一种在互联网中基于TCP协议端到端的数据传输协议 基于C/S架构,默认使用20.21号端口 端口2 ...
- SpringSecurity:简单入门
SpringSecurity能做什么 SpringSecurity是一个安全框架,使用它可以让我们的系统变得安全一点,它可以对登陆系统的用户进行验证和授权 一个安全的系统需要做的事情很多,比如:防SQ ...
- Android:Camera2的简单使用
以前用的是Camera,但是现在Camera已经被官方弃用了,所以这里使用的是Camera2进行演示 使用Camera需要注意的就是权限的获取,必须有权限 类图介绍 Camera2跟Camera1不一 ...
- 阿里面试Redis常考问题
一提到Redis缓存,我们不得不了解的三个问题就是:缓存雪崩.缓存击穿和缓存穿透.这三个问题一旦发生,会导致大量的请求直接请求到数据库层.如果并发压力大,就会导致数据库崩溃.那p0级的故障是没跑了. ...