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. 论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry

    本文提出了一种紧耦合的多传感器(雷达-惯导-相机)融合算法,将IMU测量.稀疏视觉特征.提取的激光点融合.提出的算法在时间和空间上对三个异步传感器进行在线校准,补偿校准发生的变化.贡献在于将检测和追踪 ...

  2. Day3 变量 运算符 及运算符的优先级

    变量 什么是变量: 可以变化的量 Java 是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型,作用域. 注意事项: 每个变量都有类型, 类 ...

  3. Kettle——简介

    Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定 Kettle 的主作者是 Matt ,他在 2003 年就开始了这个项目,在  ...

  4. Python - 基础数据类型 list 列表

    什么是列表 列表是一个有序的序列 列表中所有的元素放在 [ ] 中间,并用逗号分开 一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同 特征 占用空间小,浪费内存空间少 声明列表变量 列 ...

  5. Linux核心目录结构

    ------------恢复内容开始------------ 目录 含义及作用 /usr/bin 普通用户二进制命令目录 /usr/sbin root管理员用户使用的二进制命令目录 /boot 内核程 ...

  6. SignalR的客户端.NET Client介绍

    SignalR支持两种客户端:JavaScript Client和.NET Client.一个简单的SignalR例子中的SignalRDemo(点赞页面)就是JavaScript Client(HT ...

  7. xss.haozi靶机

    X00 <script>alert(1)</script> X01 </textarea><script>alert(1)</script> ...

  8. chanakya

    仅供个人娱乐 参考http://www.saulgoodman.cn/HA-Chanakya.html 靶机信息 https://www.vulnhub.com/entry/ha-chanakya,3 ...

  9. 虚拟基站(VRS)

      虚拟参考站技术(Virtual Reference Station,简称VRS)也称虚拟基准站技术,是一种网络实时动态测量实时动态测量(RTK)技术,通过在某一区域内建立构成网状覆盖的多个GPS基 ...

  10. .jsp文件的使用和理解以及一些小练习和Listener监听器

    什么是 jsp,它有什么用? jsp 的全换是 java server pages.Java 的服务器页面.jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据.因为 Servle ...