首页 > 其他 > 详细

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

时间:2014-11-05 00:33:42      阅读:290      评论:0      收藏:0      [点我收藏+]

本文git版本1.9.6


一、创建分支,删除分支

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

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


git branch 相关命令

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

bubuko.com,布布扣

1.2、切换到新的branch;Testbranch

bubuko.com,布布扣

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

bubuko.com,布布扣


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

验证如下:

bubuko.com,布布扣

切换后的HEAD

bubuko.com,布布扣

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

bubuko.com,布布扣


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

bubuko.com,布布扣

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

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

bubuko.com,布布扣

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

Tips:


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

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣

可以从上面的commit log 看出;


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

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

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

bubuko.com,布布扣

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣

bubuko.com,布布扣

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

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


本文出自 “大風” 博客,请务必保留此出处http://lansgg.blog.51cto.com/5675165/1571877

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

原文:http://lansgg.blog.51cto.com/5675165/1571877

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!