几乎所有的版本控制都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
Git的分支模型成称为它的“必杀技特性”,也正因为这一特性,使得Git从众多版本控制系统中脱颖而出。Git处理分支的方式是难以置信的轻量,创建新的分支这一操作是秒级完成的,并且在不同分支之间的切换操作也是一样便捷。
Git的分支,其实本质上仅仅是指向提交对象的可变指针。Git的默认分支是master。在多次提交操作之后,其实我们已经有一个指向最后那个提交对象的master分支。他会在每次的提交操作中自动向前移动。
实际工作中我们可能会遇到一个下面这个情况:
开发某个网站。
为实现某个新的需求,创建一个分支。
在这个分支上开展工作。
正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:
切换到你的线上分支(production branch)。
为这个紧急任务新建一个分支,并在其中修复它。
在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。
修改后切换回你最初工作的分支上,继续工作。
1、初始化一个目录并声明用户及邮箱地址
[root@git /]# mkdir /git
[root@git /]# cd git/
[root@git git]# git init
Initialized empty Git repository in /git/.git/
[root@git git]# ls -a
. .. .git
[root@git git]# git config --global user.name admin
[root@git git]# git config --global user.email admin@admin.com
2、创建、快速合并及删除分支
[root@git git]# echo "aaaa" > branch.txt
[root@git git]# git add branch.txt
[root@git git]# git commit -m "第一次提交From master"
[master (root-commit) b9f1465] 第一次提交From master
1 file changed, 1 insertion(+)
create mode 100644 branch.txt
#创建一个分支并进入新建的分支
[root@git git]# git checkout -b dev
Switched to a new branch 'dev'
[root@git git]# git branch #查看当前所在分支
* dev # 星号所在的列就是当前所在分支
master
#在dev分支更新文件并提交
[root@git git]# echo "bbbb" >> branch.txt
[root@git git]# git add *
[root@git git]# git commit -m "commit From dev branch"
[dev e9989ba] commit From dev branch
1 file changed, 1 insertion(+)
[root@git git]# cat branch.txt # 确认当前内容
aaaa
bbbb
[root@git git]# git checkout master # 切换到主分支
Switched to branch 'master'
[root@git git]# cat branch.txt # 查看内容