Git 从入门到精通(git分支学习)(三)

首先有一个主分支master

创建一个dev分支。从现在开始,对工作区的修改和提交就是针对dev分支了。比如新的一次提交后,dev指针往前移动一步,而master指针不变。

当你在dev上的工作完成了,就可以把dev分支合并到master上,可以直接把master指向dev的当前提交,就完成了合并。合并完成后,甚至可以删除dev分支。

过程:

$git checkout -b dev
$git add a.file
$git commit -m "D"
$git checkout master
$git merge dev //用于合并指定分支到当前分支
$git branch -d dev //删除本地dev分支。

这里涉及到了合并模式:fast-forward:直接把master指向dev的当前提交,所以合并速度很快。但是删除分支后,会丢失分支信息。
git是鼓励大量使用分支的。
查看分支:git branch
创建分支:git branch <分支名>
切换分支:git checkout <分支名>
创建+切换分支:git checkout -b <分支名>
合并某分支到当前分支:git merge <分支名>
删除分支:git branch -d<分支名>

分支冲突:
在上述情况下,假设切换了分支后,master和dev分别各自有了新的提交,在这种情况下,git无法执行“快速合并”,并且可能会有冲突。这种情况下,就要解决冲突在合并。

–no-ff模式
合并分支时,加上上面参数就可以使用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
简单的说:就是–no-ff模式进行了一次新的git commit操作。

bug分支:
场景:软件开发中,bug需要修改。当你在dev分支进行的工作没有提交,但此时有个bug需要你处理时。 git stash命令可以解决这个问题。
他可以把当前工作现场保存起来,等以后恢复现场后继续工作。

假设现在有master dev分支,现在需要在master上修改bug
$git stash //保存现场
$git checkout master
$git checkout 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值