1.进行新的功能代码开发
新的功能开发一定是从Master的基线开始的
git checkout master //确保当前本地是master branch
git pull //确保当前本地的master与远程master同步
2.创建新的分支
根据自己的研发需求确定分支名称,分支名称规范为 name_feature_description
例如andrew要开发一个demo功能,分支名称为andrew_demo
git branch andrew_demo //在本地创建一个新的 branch
git checkout andrew_demo //本地切换到新建的andrew_demo分支,很重要,如果忘记切换,则所有编辑还在master上
3.开始新功能撰写
git status //查看当前状态
git add . //添加所有修改
git commit -m “add one comment for demo”
Note:commit是对本次提交的备注
Best Practice: 每完成一个小的功能开发,都进行一次commit
git log //查看这次提交的版本号
4.回滚代码
4.1 在未commit之前
git diff {file_name} //查看你对版本的修改
git checkout {file_name} //直接回滚
4.2 已经commit的代码
git log //查看历史版本,并找到版本号
git reset --hard b917e //强制回滚
5.提交代码到远程
git status //push之前一定要看一下现在是哪个branch,严禁直接向master或者别人的分支上push代码
git push //向远程提交代码
git push --set-upstream origin andrew_demo //在远程创建
6.注入一个复杂的场景
切换到Master,添加一行代码,这行代码恰好与andrew_demo分支冲突
把master远程分支更新
7. 更新版本信息
每次发起与主分支merge之前,记得更新版本号,版本号精确到小数点后3位,
a.bcd
a为大版本号,一般不动
b为小版本号,主要是整体能力变化时更新
c为功能号,功能升级即可
d为bugfix或者小修小补的记录
git push //更新当前版本
8. 发起Pull Request
发起pull Request的潜台词是这个新功能已经开发完