01. 一般开发流程
目前我们最常见的三类企业:外包类,生产制造类,互联网类
前端开发人员进入到公司后,可能会面对的工作职责:要么是重新开始做项目,要么是维护现有的项目。
从 0 到 1 的项目
产品经理( PM 为代表)提出需求(一张A4纸)-》产品经理转换成需求文档,原型图(草图)
美工(UI,前端)-》效果图(有的美工会给你切图)
前后端就可以进行开发(会议,确定任务计划-哪些模块,每个模块任务周期deadline):
-》确定数据接口(有哪些数据,数据格式是什么),前后端可以一起开始。
-》后端拼命,前端没事儿。
完成(半成品)-》测试
提交上线:css,js文件合并及压缩,html文件压缩
需求--》图--》后台设计--》前端设计--》成品
github项目举例:jason-server 解决前后端接口问题。
管理项目流程软件:禅道, teambition
维护的项目
熟悉项目(拿到对应的文档,源代码)
修改bug
02. 代码管理工具
可以管理代码的各个版本(只要做了备份,就可以随意地恢复到各个版本)
在管理的过程中,不希望有过多的冗余。(差异备份,即备份不同的数据,配合原有数据,就可以恢复)
代码管理需要符合团队开发。
代码管理工具分类
-
集中式管理:
-》单台服务器管理代码,所有客户机,下载,修改上传代码 -》代表软件 subversion(svn) -》缺点:服务器崩溃,所有数据都会丢失。因此服务器需要及时备份。 -》公司本身就有服务器管理员--运维人员(每天或每周对服务器进行备份)
-
分布式管理:
-》分布是指分散到各个位置,具有位置的不同特征 -》将各个数据的完整代码存储在每一个程序员的电脑中 -》代表软件 git -》补充:git与github没有直接关系。git是一个代码管理工具,github是一个代码托管网站。 github使用git来进行托管代码。 -》国内软件 码云 git.oschina.net -》国内软件 码市 coding.net 这两年用得比较少 -》公司内部一般都有自己的托管服务器(gitlab)
03. git的发展
git最早被创建出来是用来维护管理linux代码用的。
用git就要学一点点linux的命令。
04. 术语
shell
壳,贝壳,一般在计算机中指命令行。
shell是一个中间层,用于接收用户的命令,通知系统底层进行操作,
它是保护系统内核的程序,因此称为壳。
命令行中输入命令,可以执行任何在桌面上实现的东西(命令行比GUI要强大)。
bash
典型的命令行的shell
GUI shell
图形化界面。(windows界面就是GUI shell)
05. 基本的文件目录说明
家目录
一打开 bash,使用安装程序目录打开:有一个 ~ ,这个表示家目录(home)。
凡是说的目录就是文件夹。
在任意的目录下点右键,选择bash打开。打开的时候,默认就是在当前文件夹。
在linux文件系统中,没有盘符的概念,所有的东西都在根目录下,bash程序模拟这个结构,虚拟了一个根目录,所有的盘符是这个根目录的子文件夹。
桌面Desktop
基本的linux命令
pwd
print working directory 打印当前的工作目录
cd
change directory 切换目录
在切换目录时,用tab键,可以自动补全
ls
list 列表展示 ls-all展示详细信息
clear
清空
--help
获取帮助文档,苹果电脑用 man
linux命令的格式
$命令名[--选项][参数]
在linux命令下,选项有的是带参数的,有的是不带参数的,参数与选项都是用一个或多个空格隔开。
--all / -a
在linux命令当中,选项有长名字选项和短名字选项。
-》长名字选项都是两个连字符加一个单词组成,--all
-》短名字都是一个连字符加一个字符组成
-》多个选项的时候,允许连续使用短名字
echo
输出
> >>
重定向,将原本要输出的内容,定向到另一个--help>ls.help.txt
> 重定向, 将原本要输出的内容, 定向到另外一个地方. 即, 将要输出的内容保存到文件中.
>> 追加内容到指定文件
注意:
在使用这些命令的时候,都是有一个默认的条件,当前文件夹。
> 重定向的时候,只需要写文件名,即可在当前文件保存数据了。
如果需要执行文件夹,可以使用 绝对路径 和 相对路径。
echo 123 > 1.txt 覆盖
echo 123 >> 1.txt 追加
06. 对文件夹的操作
mkdir 文件夹名字
创建文件夹
rmdir 文件夹的名字
删除文件夹
mv 原来的文件夹 后来的文件夹
作用是移动文件夹,也可以重命名
注: 在使用移动或改名的时候, 必须保证对应的文件夹不存在
例如:
mv dir1 dir2
此时如果 dir2 文件夹不存在, 指将 dir1 文件夹重命名为 dir2.
如果 dir2 文件夹存在, 那么 表示将 dir1 文件夹移动到 dir2 中, 并且保留原有名字.
mv dir1 dir2/dir3
此时如果 dir2 不存在, 则报错
如果 dir2 存在, 而 dir3 不存在, 那么就是将 dir1 移到 dir2 中, 并重命名为 dir3
如果 dir3 存在, 那么就表明将 dir1 移到 dir3 中, 并保留原有名字.
07. 对文件的操作
touch 文件名
创建文件
rm 文件名
删除文件
rm * -rf 不用提示,直接删除
mv 文件名
移动文件 mv *.js 目标文件夹(把所有js文件移动到目标文件)
cp 文件名 文件名
复制(copy)
08. vi编辑器
打开vi编辑器
使用命令vi或vim
使用vim 文件名,也可以打开vim,但是同时有了文件名。
分析界面
分成上下两部分:上面的是可视界面,或编辑界面; 下面是命令界面
vi编辑器的状态
命令状态( 默认 )和编辑状态
进入编辑状态
按下 i 或 a i即input, a即append
进入命令状态
按下esc,进入命令状态
退出
在命令状态下键入 :q为退出,使用!强制执行
保存
:w文件名 表示写入另一个文件夹中
保存退出
:wq 文件名 保存退出
09. git
git是源代码管理工具,git用于追踪文件的变化与修改。
基本使用:git命令,打印出所有的可选子命令
git help --all 打印所有的详细命令
git的操作步骤(思想)
- 使用git之前要先初始化“仓库”
git init
- 查看跟踪状态的命令 git status
- 将文件加到仓库中(使git追踪这个文件)
git add 文件名
- 提交(文件添加以后,只是存储到缓存中了,并没有存储到仓库里,提交以后,就存储到仓库中了)
git commit -m/--message
"提交的信息" --author=“用户名<邮箱>” - 可以修改文件,再提交
- 查看提交日志
git log / git log --oneline
10. 配置用户名与邮箱
将用户名与邮箱配置到计算机中,那么每次提交的时候就不需要再配置了。
配置的级别(3种)
局部范围(只在当前项目中有效,会在.git这个文件夹中创建配置文件)
git config user.name "zengchen"
git config user.email "zengchen98@163.com"
当前用户范围(全局范围)
git config --global user.name"..."
git config --global user.email "zengchen98@163.com"
系统级范围(非win)一般不要用
git config --system user.name"..."
git config --system user.email "zengchen98@163.com"
11. git 文件夹结构说明
一旦使用git开始管理我们的代码,我们的文件夹就分成三个部分
1. 工作区
2. 缓冲区(索引)
3. 仓库
其中,缓冲区与仓库就在.git目录中。
每次在编写代码的时候,都是在工作区中实行。
一旦对文件执行add,即 将文件存储到了缓冲区中(已追踪,未提交)
我们可以使用commit提交,使得文件存储到仓库里
如果说我们希望恢复修改,可以使用命令 git reset --hard HEAD
12. 回到已备份的版本中
-》git reset --hard SHA1 就可以回到指定版本
使用git log查看SHA1 值 至少取前7个数的值
恢复:git reflog 获取想要的SHA值
-》恢复的三个级别
soft:只会恢复仓库中的数据结构,缓冲区与工作区不变
mixed(默认):恢复仓库中的数据与缓冲区中的数据,而工作区不变
hard:强制将工作区,缓冲区,仓库全部恢复。
13. 提交日志的书写规范
就是在git commit -m的时候,在里面书写的内容
-》提交策略:在提交的时候,最好遵循原子性操作,即一个完整的功能实现或bug处理完成以后再提交。
-》日志书写规则
第一行,用最简单的语句概括所做事情
第二行,空一行
第三行,开始详细地说明细节部分
例如:
实现基本的首页功能,处理样式与交互
文件结构为:
src/index.html
src/css/main.css
scr/js/app.js
...
...
这种编辑无法使用 -m 来实现,不使用 -m,那么会自动开启进入到vim中,编辑完成后保存退出即可。
git add. (将当前目录和全部子目录文件add了)
查看单行日志内容
git log --pretty=short 或 --oneline
具体查看某一个日志的信息
git show SHA1值 (看某一个文件的详细内容)
网友评论