git分支创建分支删除分支合并

简介:

本文git版本1.9.6


一、创建分支,删除分支

二、创建分支,合并分支,删除分支

三、创建分支,git 3-way merge,删除分支


git branch 相关命令

1
2
3
4
5
6
7
8
9
10
git branch  # 列出目前有多少branch
git branch new-branch  # 产生新的branch (名称: new-branch), 若没有特别指定, 会由目前所在的branch / master 直接复制一份.
git branch new-branch master  # 由master 产生新的branch(new-branch)
git branch new-branch v1  # 由tag(v1) 产生新的branch(new-branch)
git branch -d new-branch  # 删除new-branch
git branch -D new-branch  # 强制删除new-branch
git checkout -b new-branch  test  # 产生新的branch, 并同时切换过去new-branch
# 与remote repository 有关
git branch -r  # 列出所有Repository branch
git branch -a  # 列出所有branch

1、创建分支,删除分支

1.1、创建branch

wKiom1RY0T7C2gAlAADpz6TH5dk752.jpg

1.2、切换到新的branch;Testbranch

wKiom1RY0XfifID4AADruGL_8RM633.jpg

在切换过程中HEAD执行变化如图:

wKioL1RY1YWT3l-iAADQDMzT36w651.jpg


也就是说虽然切换后HEAD指向了Testbranch,可是Testbranch还是和master一样指向了最后一次的commit;

验证如下:

wKiom1RY1Yqg05KEAAIVSl-xrac913.jpg

切换后的HEAD

wKiom1RY1emAU_44AACRF-arqfI612.jpg

1.3、切换回master,进行验证,并删除Testbranch

wKiom1RY1k3i7Ad5AADu_nBEIjg122.jpg


删除Testbranch,并且分支索引文件也不存在了。

wKioL1RY1v7SSZ5NAAD55K3MtIc226.jpg

2、创建分支,合并分支,删除分支

2.1、查看当前master的最后commit log ;创建分支Testbranch

wKioL1RY3XXAWHsvAADj1jgTQIk649.jpg

wKioL1RY3bPS14RrAAE---nXga4698.jpg

2.2、在当前分支修改code,并且进行commit,查看当前commit log;

wKioL1RY3oHCSNYcAAKP7MWetac567.jpg

2.3、切换回master,查看commit log 合并分支,查看commit log ;并删除分支Testbranch,查看 commit log;

wKioL1RY3xPgb5kDAAC6Y4n7avA730.jpg

wKiom1RY3uKTOCIiAAEj93vrlDM777.jpg

wKioL1RY326hgGxnAADj9FYh530226.jpg

Tips:


为什么要合并后再删除Testbranch呢?

在master 分支,他对应的最后索引为last commit,

wKioL1RY2aai00fqAABq3WnkmYI879.jpg

而在Testbranch分支,他对应的最后索引为他刚刚的commit,我们假设为B;

wKioL1RY2rexnfqPAACCNJuWzH0775.jpg

如果我们强制将在Master分支删除分支Testbranch,那么Testbranch分支刚刚的commit就无效了;所以我们要先合并Testbranch后,在进行删除,合并后索引如图:

wKiom1RY2yqid7JQAADuGBVm2hk488.jpg

可以从上面的commit log 看出;


3、创建分支,git 3-way merge,删除分支

Ps:上面创建了分支,并且在分支修改code,,进行提交,如果在分支进行修改code,并且在master进行修改code呢?

3.1、查看master分支commit log ,创建Testbranch分支,查看commit log ,两次修改code,分别进行commit,查看commit log;

wKioL1RY5e7y4NW3AAC5OgADrZo846.jpg

wKiom1RY5b6T774lAACyRiwEl3I948.jpg

1
2
3
4
echo  "print \"Test1\""  >> hello.pl
$ git commit -am  "test1"
echo  "print \"Test2\""  >> hello.pl
$ git commit -am  "test2"

wKiom1RY5qPR-DEpAACTQiFkCZ8843.jpg

3.2、切换至master,查看commit log;修改code,进行commit;查看commit log;

wKiom1RY5wvxRc2IAADW_O05l5k779.jpg

wKiom1RY5zvClbQPAAJ5FDeM_48127.jpg

3.3、将Testbranch进行合并;删除Testbranch

1
2
3
$ git merge Testbranch
$ git branch -d Testbranch
Deleted branch Testbranch (was ec4c4ba).


本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1571877

相关文章
|
25天前
|
开发工具 git 开发者
|
25天前
|
开发工具 git
|
2月前
|
前端开发 算法 开发工具
Git分支批量清理利器:自定义命令行插件实战
Git分支批量清理利器:自定义命令行插件实战
40 0
|
2月前
|
开发工具 git
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
53 0
|
24天前
|
开发工具 git 开发者
|
25天前
|
开发工具 git
|
27天前
|
存储 开发工具 git
Git 术语解析:深入理解上游分支
【2月更文挑战第26天】
70 0
Git 术语解析:深入理解上游分支
|
1月前
|
Shell 开发工具 git
【问题篇】git创建分支后idea切换分支找不到以及合并问题
【问题篇】git创建分支后idea切换分支找不到以及合并问题
19 0
|
1月前
|
开发工具 git
git 新建分支,切换分支,上传到远程分支
在git中,可利用checkout命令转换分支,该命令的作用就是切换分支或恢复工作树文件,语法为“git checkout 分支名”;当参数设置为“-b”时,可以在新分支创建的同时切换分支,语法为“git checkout -b 分支名”。
|
2月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
210 3