git:分支控制

目录

1.什么是分支

2.查看当前在哪个分支

3.分支的创建

3.分支的切换

4.分支的合并

5.删除分支

 6.使用非fast-forward模式提交

7.解决冲突

8.分支策略


1.什么是分支

master主分支:主分支,master分支上的代码通常是部署在生产环境中的,通常是稳定的代码,不会再主分支上进行任何的开发操作,写出个bug那服务就直接挂了就惨了。

通常进行开发的时候通常会创建一个分支,在分支上开发,对分支修改不会影响主分支,如果代码没问题,再将分支合并到主分支。

2.查看当前在哪个分支

git branch

 

当前在master分支

3.分支的创建

git branch [分支的名字] //创建一个分支
git checkout -b [分支名字] //创建一个分支并进入

 创建一个dev分支并查看

使用checkout创建分支

3.分支的切换

git checkout [分支名]

checkout命令还可将工作区的代码回退到 提交到暂存区的代码。

git checkout --[文件路径]

4.分支的合并

git merge [分支名]

合并head指向的分支和merge指定的分支。

将dev分支合并到主分支

查看合并情况

git log --graph --pretty=oneline --abbrev-commit

查看提交的日志, --graph就是以图形化的方式查看,--pretty=online更工整的打印信息,--abbrev-commit省略一些提交哈希值。

git log --graph --pretty=oneline --abbrev-commit 

因为我这里对分支没做任何修改所以提交出来时这样的,也可以修改文件提交之后。

默认的提交方式是fast-forword ,这种提交方式是及其不建议的,如果将分支删除,就看不到这次提交是合并过来的还是直接commit的。

5.删除分支

git branch -d [分支名]

将dev分支删除

再次查看日志

我们发现已经看不到是否合并过了

 6.使用非fast-forward模式提交

git merge --no-ff -m "非 ff 方式的分支合并" dev2

分支的信息即使将分支删除后也会保存。

7.解决冲突

当两个分支对同一行代码做出的改动,合并分支的时候,git也不知道你想要哪行代码,这时候需要程序员手动处理冲突。

冲突文件会有这样的信息

<<<<<<< HEAD
这是目标分支(通常是当前分支)的内容
=======
这是源分支的内容
>>>>>>> <source_branch>

处理完之后再次进行commit。

8.分支策略

在实际开发中,我们应该按照⼏个基本原则进⾏分⽀管理:
⾸先,master分⽀应该是⾮常稳定的,也就是仅⽤来发布新版本,平时不能在上⾯⼲活;
那在哪⼲活呢?⼲活都在dev分⽀上,也就是说,dev分⽀是不稳定的,到某个时候,⽐如1.0版本发布 时,再把dev分⽀合并到master上,在master分⽀发布1.0版本;
你和你的⼩伙伴们每个⼈都在dev分⽀上⼲活,每个⼈都有⾃⼰的分⽀,时不时地往dev分⽀上合并就 可以了。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值