进入公司的时候首先做的都是拉取项目代码,并且一般都需要切换到分支进行开发,对于不少新人或者是没有使用过git的人来说,可能会不知道如何切换git分支,因此写这篇博文来记录Git的版本控制流程及特性分支之间的切换
目录
1.Git简介
Git是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出Git的高性能和高可用性!
解决的问题:
记录了每次修改的:版本,内容,操作用户,修改时间,文档名等。
总结:git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来
2.命令
git status 表示显示此次上传的文件,那里被修改,如有被修改则会显示红色文字段
git add . 表示添加所有 选中修改的文件
git commit -m "$$$" 表示修改的文件说明---干啥了
git push 将文件上传到仓库
git pull 更新操作 在操作时,先进行更新,防止冲突。
3.Git的版本控制流程
3.1 为没什么需要分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响
简单讲,分支就是产生了一个master的副本,我们在分支上做完需求后,再将完成的需求成果合并到master分支,在此期间,master不会因分支的修改而发生改变,能稳定运行
3.2 分支命令
master(生产)分支
用于上线的代码就存放在master中,主分支,其他分支都是围着master转的
develop(开发)分支
是从master创建的分支,一般作为开发部门的主要开发分支, 如果没有其他并行开发不同期上线要求,都可以再此版本进行开发,阶段开发完成后,需要合并到master分支,准备上线
feature分支
从develop创建的分支,一般是同期的并行开发,但不同时期上线时创建的分支,分支上的研发任务完成后合并到develop分支,可以同时存在多条feature分支
hotfix分支
从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、 test、develop分支
还有一些其他分支,例如 test分支(用于代码测试)、pre分支(预上线分支)等等
3.3 注意
1.git merge和git rebase,强制要求使用git rebase,因为这样的话,分支管理会比较清晰。
2.commit的时候不要把不希望别人看到的修改都commit上,然后commit的时候,要检查
3.所有的特性分支,不允许push,能push的分支只有feature分支
(方便代码review),mr是需要审批的,方便代码reivew
dev:开发环境,从feature去mr
test:测试环境,从feature去mr
pre:预生产环境,从master去mr,为了验证master代码
master:生产环境,从feature去mr
feature:开发分支----小功能,创建的时候,从master拉取
hotfix:bug修复分支,从master拉取
注意:如果说这个文件没有commit,那么我切换分支的时候,改动会被带过去。如果说这个文件commit了,那么切换分支的时候,改动不会被带过来。