1. Git基础介绍
基于Git进行开发时,首先需要将远程仓库代码clone到本地,即为本地仓库。后续大部分时间都是基于本地仓库上的分支进行编码,最后将本地仓库的代码合入远程仓库。
1.1. 远程仓库
Figure 1特性分支、个人远程分支
1.1.1. 主线分支
主线分支也叫master分支,用于产品对外正式发布使用,最终所有特性的代码都会合入主线分支
1.1.2. 特性分支
特性分支,是指按特性构建并转测试的分支,特性分支都是基于主线分支创建的,特性分支命名规则:feature_特性名称,举例 feature_ipush
特性分支,主要用于在版本迭代开发过程中,按特性转测试,多个特性之间互不依赖,并行操作提高特性上车效率。
1.1.3. 个人特性分支
个人特性分支,基于特性分支创建,增加个人特性分支的目的主要是增加审核机制,即个人特性分支合入特性分支的过程中,需要Committer审核通过才能合入。
1.2. 本地仓库
Figure 2工作区、暂存区、版本库
Git本地仓库分为工作区,暂存区(index),版本库
git add:将工作区修改或新增的文件添加到暂存区
git commit:将暂且区的修改添加到版本库对应的个人本地分支中
git reset:回退commit提交
git rm --cached <file>:直接从暂存区删除文件,工作区则不做出改变。
git checkout -- <file>:会用暂存区全部或指定的文件替换工作区的文件(会清除工作区中未添加到暂存区的改动)
git checkout HEAD <file>:会用HEAD指向的分支中的全部或者部分文件替换暂存区和以及工作区中的文件(会清除工作区中未提交的改动,也会清除暂存区中未提交的改动