mzy git学习,分支以及分支合并(四)
git 鼓励大量使用分支:最后进行master和分支之间的合并
git branch
git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来。
[一定要注意git的分支有从属概念,即:如果创建一个分支的话,这个分支就是当前分支的分支]
git branch name 创建一个新的分支
git branch dev:创建一个叫做dev的分支。
git checkout / -b
git checkout name 切换一个分支,从当前分支切换到 name分支
例如如果当前是在master主分支上:
git checkout dev:从当前的master分支切换到dev分支
git checkout -b name 创建+切换分支
例如如果当前是在master主分支上:
git checkout -b dev:创建一个分支dev,并且从当前的master分支切换到dev分支。
git merge
git merge name 合并分支:把name分支合并到当前分支
(注意要先把本地的修改add、commit之后才能merge哦)
[不止是把dev分支合并到master分支上哦,因为git鼓励使用分支,也可以是除主分支master之外的其它分支之间的合并]
例如如果当前是在master主分支上:
git merge dev:把dev分支合并到master分支上。
例如当前我在dev分支上:
git merge mzy:把mzy分支合并到dev分支上。
注意此时,说的都是没有冲突的情况:如果有冲突,请看下文
如果没有冲突的话,就直接就合并成功了,直接在版本库中体现出来(不用手动add commit),但是只有执行合并动作的分支才会得到合并的结果,被合并分支是不会修改的,但如果冲突了的话,必须手动合并,通用被合并分支中也不会被修改
git branch -d/-D
git branch -d name:删除一个分支
git branch -d dev:在我们把dev分支合并到master分支之后,就可以删除这个dev分支了。此条命令删除dev分支。
这里补充一下,我们正常删除一个分支的话,使用git branch -d就可以了,但是-d参数只能删除已经和upstream分支[我叫做父分支]合并了的分支(不一定就是master分支,也可以是其它次分支之间的合并);
但是如果没有merge过的话,用-d参数就会提示:error: The branch ‘dev’ is not fully merged.
但是下面也正好提醒了:If you are sure you want to delete it, run ‘git branch -D dev’.
如果你要强制删除这个分支,确认这个分支没得用了的话,就可以使用-D参数,强制删除
git branch -D dev-tmp
mzy git学习,分支以及分支合并(四)的更多相关文章
- mzy git学习, 保留现场,恢复现场,以及bug分支处理(七)
git stash 在git中有时候我们工作做了一半,但是有点急事需要离开一段时间,或者现在需要切换到另一个分支下,去维护和修改一些其它的东西,但是我们现在的工作还没有完成,提交上去的话,并不是完整的 ...
- mzy git学习,分支冲突,以及冲突解决(五)
冲突解决: 先尝试制造冲突: 首先我:git checkout -b mzy 创建一个mzy的分支 然后在其中修改readme.txt文件,随便加上一点东西. vim readme.txt wri ...
- git 学习笔记 --创建与合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- git学习4:分支管理
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...
- git 学习笔记 --Bug分支
软件开发中,bug就像家常便饭一样.有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除. 当你接到一个修复一 ...
- mzy git学习,git协同开发忽略文档配置以及一些杂点(九)
回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keyge ...
- mzy git学习,git推送到远程库(八)
git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭 ...
随机推荐
- 手写系列-实现一个铂金段位的 React
一.前言 本文基于 https://pomb.us/build-your-own-react/ 实现简单版 React. 本文学习思路来自 卡颂-b站-React源码,你在第几层. 模拟的版本为 Re ...
- ssh保持长连接的方式
方法有以下三种:1.修改server端的etc/ssh/sshd_configClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从 ...
- DNS Bind日志详述
简介 在默认情况下,BIND9 把日志消息写到 /var/log/messages 文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息:而将调试日志信息写入 BIND ...
- 【LeetCode】142. 环形链表 II
142. 环形链表 II 知识点:链表:set:快慢指针 题目描述 给定一个链表,判断链表中是否有环. 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表 ...
- 《手把手教你》系列技巧篇(十一)-java+ selenium自动化测试-元素定位大法之By tag name(详细教程)
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍By ClassName.看到ID,NAME这些方法的讲解,小伙伴们和童鞋们应该知道,要做好Web自动化测试,最好是需要了 ...
- 记一次Vue跨导航栏问题解决方案
简述 这篇文章是我项目中,遇到的一个issue,我将解决过程和方法记录下来. 本篇文章基于Vue.js进行的前端页面构建,由于仅涉及前端,将不做数据来源及其他部分的叙述.使用的CSS框架是 Boots ...
- ECShop 2.x/3.x SQL注入/任意代码执行漏洞
poc地址:https://github.com/vulhub/vulhub/blob/master/ecshop/xianzhi-2017-02-82239600/README.zh-cn.md 生 ...
- SoundPool概率性无声问题
public class SoundManager { private static SoundManager instance; private SoundPool mSoundPool; priv ...
- 从小白角度探索Android事件分发机制
今早来上班时看到郭神这边文章超赞,剧情很好引人入胜,特此备份! https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650244386 ...
- Android中的一些小细节
在代码中获取到的padding .margin.getWidth.event.getX.context.getResources().getDimensionPixelSize(R.dimen.key ...