[TOC]
## 新人快速上手
启动本地的开发环境之后,应该如何快速的上手一个项目。
在项目开始之前,`必须` 遵循以下规范:
1. 一品威客 Gitflow 工作流
2. 一品威客 Git 提交规范
3. 一品威客 代码书写规范
不符合 `Git 提交规范` 和 `代码书写规范` 的 `commit` 都不能提交到远程仓库。
### 启动运行环境
* 我们本地的 `nginx/php/redis` 都用 `docker-compose` 编排,配置文件是 `/data/docker-compose.yml`
* 进入虚拟机后,我们的第一件事情应该是启动容器 `docker-compose up -d`
### 项目的检出
* 项目必须检出到虚拟机的 `/data/webroot` 路径下。
* 如果大家有精力,还会提供 `/data/scripts/*.sh`,以便一键创建并部署本地项目
* 项目的 nginx 必须存放在 `/data/nginx/vhost` 路径下,我们将提供尽可能多的项目的 nginx 配置文件,并命名为 `*.conf.example`,以便开箱即用
* 如果项目需要使用 `composer` 安装,我们已经提供了 docker 支持的 composer 命令,直接使用:`composer install --ignore-platform-reqs`
### 代码不规范或者提交不规范如何重新提交
这是一个典型的代码提交到远程仓库报错的案例,原因是 PHP 代码不符合PSR2 规范:
![规范校验](https://box.kancloud.cn/aa4d4cba3d378962a3a1cd300fa478f5_861x621.png)
出现这种场景,我们要做的是:
1. 查看我们的提交日志,找到我们出错的 `commit` 的 `前一次提交` 的 `commit ID`
2. reset 回出错的 `commit` 的 `前一次提交`
3. 更正后重新提交
#### 步骤1 ~ 2:
~~~
git log --oneline
git reset d97f121
~~~
![reset](https://box.kancloud.cn/952233a48802e706f5262a69d8ca86bd_860x274.png)
#### 步骤3:
~~~
git add .
git commit -m "feat(login): 测试代码规范检测"
git push
~~~
## 提问的艺术
我们常常在开发过程中遇见这种情况:
- 新人在开发过程中遇见一个代码报错,然后马上跑来问这个怎么办
- 新人在开发过程中不熟悉新工具的使用,每个命令都要来问这个什么意思
- 新人在开发过程中碰见代码冲突,然后马上来问冲突了怎么办
- 等等等
这种提问的方式不仅会时常打断别人的编程思路,还无法锻炼自己独立解决问题的能力。
所以提问的时候,`必须` 遵循 [提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md)。
大致就是:
1. 先搜再问(百度、谷歌、Stack Overflow)
2. 把问题出现的场景和需要解决什么问题描述详细
3. 礼貌问人
4. 解决后做简短备注