git
git是一个开源的分布式版本控制系统
特点
- 最优的存储能力
- 非凡的性能
- 开源
- 容易备份
- 支持离线操作
- 容易定制工作流程
- 内容按照元数据的方式进行存储
开发流程
- 从master的最新代码拉取一个开发分支note,在上面进行开发
- 在开发分支上不断地进行提交版本,有从本用户的版本,也有从其他用户的版本
- 要发布的时候,把master代码重新合并到这个note中
- 发布完成后,将note的代码合并到master
分支
分支是一个commit对象链,工作的记录线。
分支作用
原本使用git仓库时,每次进行代码提交到远程仓库中,都会更新仓库中的版本,这就使得其他成员对这个远程仓库进行拉取的时候可能会获取到不完整的版本。所以当有了分支后,并合理使用分支,建立用一个所有人提交的master分支,然后成员各自建立自己的分支来保存自己的版本,想同步就同步;在项目整理的时候再将个人的分支合并到master分支中。
这样,即安全又不会影响他人。
分支使用的详细过程
- 版本的每一次提交,git根据它们提交的时间点,串联成一条时间线。HEAD指向当前分支的当前版本
- 创建了新分支dev后,git新建一个指针dev,指向master的版本
分支原理
git每一次提交版本,提交的数据中包含一个指向暂存内容快照的指针,包含本次提交的用户等信息。然后就可以从一个提交的快照里拿到之前所提交的记录
与svn不同的是,svn创建分支会把所有代码拷贝一份,git创建分支只会创建一个指针,指向一个代码版本的地址
如何合适地使用分支?
可以按照如下地原则进行分支管理:
- master是一开始就提供的分支,所以可以将它作为发布新版本的分支,不作为平时的编码开发。
master分支应该与远程仓库保持同步 - 平常的编码开发都在一个自己建立的分支中,比如dev,这个分支可以看作是不稳定的。在一个完整的版本发布的情况下,才将dev分支合并到master中
dev分支也应该与远程仓库保持同步 - 每一个成员都在本地的dev分支中进行开发,只要时不时地将代码同步到远程的dev分支中就可以了
参考文章
https://www.cnblogs.com/dazhidacheng/p/7798358.html
https://blog.csdn.net/weixin_37861326/article/details/80097198