首页 > 其他 > 详细

git操作详解(二)-分支管理

时间:2021-03-15 22:54:52      阅读:36      评论:0      收藏:0      [点我收藏+]

分支管理

一、创建分支 

重新创建一个仓库git_lvhuayan_2

 技术分享图片

 技术分享图片

1、手动新增一个new01.py文件,内容为print(‘new01‘)

2、使用 git add * 、git commit -m “第一次提交” 进行提交

3、手动新增一个new02.py文件,内容为print(‘new02‘)

4、使用 git add * 、git commit -m “第二次提交” 进行提交

 技术分享图片

5、通过命令 git branch 查看当前分支情况

 技术分享图片

6、通过命令 git branch dev 创建一个dev的新分支

 技术分享图片

7、通过命令 git checkout dev 切换到dev分支

 技术分享图片

备注:步骤2、3可以通过命令git checkout -b dev 完成相同操作

二、新分支上提交并切换到master分支

1、对new02.py文件进行修改,内容为print(‘devnew02‘)

 技术分享图片

2、使用 git add * 、git commit -m “dev分支第一次提交” 进行提交

 技术分享图片

3、使用 git log --pretty=oneline 查看git日志

 技术分享图片

4、使用命令 git checkout master 切换回master分支,此时会发现new02.py的修改已经没了,因为已经切换到master分支

 技术分享图片

 技术分享图片

三、把dev分支合并到master分支

1、使用命令git merge dev 把dev分支上的内容合并到分支master,git merge命令用于合并指定分支到当前分支,Fast-forward表明这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

 技术分享图片

2、当分支合并后,可以通过命令git branch -d dev 删除dev分支

 技术分享图片

四、分支合并时的冲突

1、使用命令git checkout-b dev创建并切换到分支dev

2、对new02.py文件进行修改,添加一行内容为print(‘dev‘)并提交到版本库

3、使用命令 git checkout master

4、对new02.py文件进行修改,添加一行内容为print(‘master‘)并提交到版本库上面这种情况,git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。

技术分享图片

 技术分享图片

 5、冲突解决:同时打开new02.py文件,<<<<<HEAD 下面表示主分支做的修改,=======表示分割线,>>>>>>dev上面表示dev分支做的修改,对new02.py文件进行编辑,把<<<<<HEAD、=======>>>>dev去掉,并由自己选择需要保存的内容,使用git add*、git commit-m“冲突解决”提交到版本库

技术分享图片

 技术分享图片

 技术分享图片

 

 

 技术分享图片

 

5、forward模式Fast Forward意为”快进模式”。主要使用在多分支合并的情况下。即:当前分支合并另一个分支的时候,如果合并的过程中没有冲突的时候,则会通过直接移动两个分支的指针,来达到合并的过程,这个过程就叫做Fast Forward。在Fast Forward模式下,当我们合并分支后,将会删除无用的分支dev,在这种情况下,Fast Forward就有一个弊端暴露了,即:删除分支后,会丢掉分支的所有信息。在合并dev分支的时候,通过命令git merge --no-ff -m “禁用Fast Forward模式合并分支” dev  可以强制禁用Fast Forward模式提交,然后再使用命令git log --graph --pretty=oneline --abbrev-commit 查看日志即可看到分支信息。

以下图为禁用Fast Forward模式: 

 技术分享图片

 技术分享图片

 

git操作详解(二)-分支管理

原文:https://www.cnblogs.com/lvhuayan/p/14525567.html

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