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学习,分支以及分支合并(四)的更多相关文章

  1. mzy git学习, 保留现场,恢复现场,以及bug分支处理(七)

    git stash 在git中有时候我们工作做了一半,但是有点急事需要离开一段时间,或者现在需要切换到另一个分支下,去维护和修改一些其它的东西,但是我们现在的工作还没有完成,提交上去的话,并不是完整的 ...

  2. mzy git学习,分支冲突,以及冲突解决(五)

    冲突解决: 先尝试制造冲突: 首先我:git checkout -b mzy 创建一个mzy的分支 然后在其中修改readme.txt文件,随便加上一点东西. vim readme.txt   wri ...

  3. git 学习笔记 --创建与合并分支

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...

  4. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  5. mzy git学习,禁用Fast forward的普通合并(六)

    git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...

  6. git学习4:分支管理

    每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...

  7. git 学习笔记 --Bug分支

    软件开发中,bug就像家常便饭一样.有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除. 当你接到一个修复一 ...

  8. mzy git学习,git协同开发忽略文档配置以及一些杂点(九)

    回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keyge ...

  9. mzy git学习,git推送到远程库(八)

    git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭 ...

随机推荐

  1. SpringCloud学习之【Eureka实现服务注册与发现】

    这段时间开始整理之前的SpringCloud实践笔记,这里感谢翟永超大佬的文章SpringCloud从入门到精通的指导. 项目结构 服务注册中心 注意: 1.SpringCloud与SpringBoo ...

  2. 关键字替代符号C++

    不知从什么时候的哪里我看到了一个and关键字,心想这是个什么玩意...然后知道它相当于&&,于是开启了罪恶的生涯-- 替代关键字,似乎可读性更好,但是有些编译器可能会无法识别(eg.M ...

  3. 聪明的YZH

    [题目描述](杨子恒大佬) 聪明的YZH又开始搭积木了-- 他用1*1*1的立方体在n*m的平面搭积木,举几个他的杰作: 现在他又搭完了一个完美的杰作,他很好奇这对积木的表面积是多大 . [输入格式] ...

  4. nmcli命令行修改网络连接名称

    目前在网上能找到的文章中,使用nmcli命令修改Linux系统中网卡连接的名称都是先创建新的连接,然后删除旧的连接的方式 此种方式其实完全不恰当,简直就是在浪费时间,nmcli命令本身就提供了直接修改 ...

  5. zookeeper与eureka比较

    一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性) zookeeper确保cp 当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接d ...

  6. 浏览器WEB Browser 常识

    浏览器WEB Browser 浏览器发展史 浏览器诞生与发展 浏览器的诞生 早期浏览器 Netscape Internet Explorer 与浏览器战争 chrome的崛起 时代之泪 IE浏览器终成 ...

  7. Java集合框架全解

    Collection 集合 集合接口有2个基本方法: public interface Collection<E> { //向集合中添加元素.如果添加元素确实改变了集合就返回 true, ...

  8. element+vue点击新增表格内在已有数据添加一行带输入框内容

    在element+vue项目中,需求要表格内已有数据,点击新增在首行添加一行带输入框内容 table的数据为datas=[],那么下面是一列的数据,多列可循环或复制 <el-table-colu ...

  9. 大数据学习(22)—— ZooKeeper能做些什么

    官网上已经给出了zk的几种典型应用场景,原话是这么说的: It exposes a simple set of primitives that distributed applications can ...

  10. Hadoop 3.1.1 - Yarn - 使用 CGroups

    在 Yarn 上使用 CGroups CGroups 是一种将任务及其子任务聚集和划分进一个垂直的分组的策略,并提供在此结构上的特别的操作.CGroups 是 Linux 内核功能,自内核版本 2.6 ...