Git学习之路(6)- 分支操作

▓▓▓▓▓▓ 大致介绍

  几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的。就比如我在没有学习Git之前,想实现我的一个小想法,但是又害怕影响已完成的工作,只有ctrl+c、ctrl+v,但是在Git中,甚是方便了许多。

  这篇博客主要讲以下几部分:

    ◆ 创建分支

    ◆ 合并分支

    ◆ 删除分支

▓▓▓▓▓▓ 创建分支

  在之前的学习中,都只有一个分支即 master分支 这是Git中主分支的默认名。在Git学习之路(4)- 撤销操作、删除文件和恢复文件 中提到了HEAD,表示当前的版本,在以前的学习中master和HEAD是这种关系:

  Git使master指向最新的提交,然后使HEAD指向master,就像C语言中的指针一样。

  创建一个分支:

    git branch 分支名 

  

  查看分支:

    git branch 

  切换到某个分支:

    git checkout 分支名

  创建并切换到某个分支:

    git checkout -b 分支名

  例如:

  首先用 git branch 查看了一下分支,发现就只有 master 一个分支,然后创建了 branch1 分支。查看分支,可以发现前面有*符号的分支,为当前分支。切换到branch1

  此时,用图来表示:

▓▓▓▓▓▓ 合并分支

  在分支上改好文件后,我们最后要把它合并到主分支上。

  

    git merge 分支名

  查看以和当前分支合并过的分支:

    git branch --merge

  查看未于当前分支合并过的分支:

    git branch --no-merge

  例如:

  首先查看了分支,可以看到一共有三个分支:branch1、branch2、master。然后查看和当前分支master合并过的分支,显示无。查看没有和master合并过的分支,有两个即:branch1、branch2。将branch1和master合并,继续查看和master合并过的分支和未合并过的分支

  此时,用图来表示:

  但是有时候,分支合并时并不是一帆风顺,例如两个分支如果对同一文件的用意部分进行修改,那么在合并时就会出现问题:

  如图:

  这时,合并分支时产生了冲突,Git会让你自己选择要保留哪个,在你的代码中会出现类似这样的提示信息:

  选择你就要保留的代码,删除不要的,在提交就可以了

▓▓▓▓▓▓ 删除分支

  当我们要删除一个分支时,要分为两种情况:

  删除与当前分支合并过的分支:

    git branch -d 分支名

  删除与当前分支没有合并过的分支:

    git branch -D 分支名

  例如:

  首先查看了与当前分支合并和没有合并过的分支,发现用-d删除未合并过的分支时,出现了错误,改用-D则成功删除

参考资料: 

      廖雪峰的官方网站-Git教程

      CODE帮助文档-Progit中文版

  

时间: 2024-10-26 11:56:30

Git学习之路(6)- 分支操作的相关文章

Git学习04 --分支管理

每次commit,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点.每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也

Git学习05 --分支管理02

1.冲突 产生冲突后,查看readme.txt   可以看到冲突内容 <<<<<<< ======= >>>>>>>   然后要同其他人商讨保留哪个. 当Git无法自动合并分支时,就必须首先解决冲突.解决冲突后,再提交,合并完成. 用git log --graph命令可以看到分支合并图. 2.  分支策略 在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,

Git学习之路(1)-Git简介

▓▓▓▓▓▓ 大致介绍 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ▓▓▓▓▓▓ Git的诞生 Git是由Linus编写的,这个名字应该不会陌生,著名的Linux就是Linus的杰作!(厉害的人干啥都厉害),虽然Linus创建了Linux,但是Linux的壮大是由全世界热心的参与者共同努力的结果,

Git学习——创建与合并分支

分支概念 当前我们所在的分支是master(主分支),可以通过创建分支: git branch <branch_name> 创建完成后,可以查看当前的分支状态: git branch 当前的分支前面带*号.还可以切换到其它分支: git checkout <branch_name> 创建分支加上切换到该分支: git checkout -b <branch_name> 合并某分支修改的内容到当前的分支: git merge <branch_name> 确认无

git学习笔记之远程仓库操作

在本地建立好git仓库之后,怎样将项目发布到远程仓库.步骤如下: 1,首先在https://github.com注册账户: 2,然后创建create repository(建立仓库): 3,给项目添加本地仓库:git remote add origin 'https://github.com/username/repositoryname.git'; 4,将本地项目推送到远程仓库:git push origin master

No.1 selenium学习之路之浏览器操作

selenium基础,首先就是浏览器的相关操作 下面描述几种浏览器的常用操作 1.打开浏览器 webdriver后面添加想要打开的浏览器 Ie或者Chrome 2.打开指定页面(百度) 3.休眠时间 这里的休眠时间,是以秒为单位,需要导入time包 4.点击浏览器左箭头,返回上一页 5.点击浏览器右箭头,切换下一页 6.刷新浏览器 7.退出浏览器 退出这里有两个方法,可以用close和quit. close是关闭当前窗口,不会清空临时文件 quit是关闭浏览器,清空临时文件.

Python学习之路3 - 字符串操作&amp;字典

本节内容: 常用的字符串处理. 格式化输出字符串. 字符串的替换. 字符串和二进制的相互转化. 字典的操作 字符串操作 常用的字符串处理 name = 'vector' print(name.capitalize()) # 首字母大写 print(name.count('e')) # 判断字符e在字符串中有多少个 print(name.center(50,'-')) # 一共打印50个字符,将vector放在中间,两边用-填充 print(name.endswith('r')) # 判断字符串以

Python学习之路4 - 文件操作&amp;编码转换

文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式,默认为utf-8) #例如 f = open('passengers.txt','r',encoding='utf-8') 上例用open以只读的模式打开文件,因为该文本是utf-8编码的,所以第三个参数是utf-8 w 模式是写入,是创建一个新文件的写,所以如果已经有了该文件就会被覆盖掉,注意安全

Python学习之路:文件操作

文件基本操作: 打开.读取.追加.关闭 #data = open("yesterday",encoding="utf-8").read() #打开并读取文件 f=open("yesterday",'r',encoding="utf-8") #文件句柄 data = f.read() print(data) f=open("yesterday2",'w',encoding="utf-8")