前端资源库Web前端之路让前端飞

从零开始学Git(1):基础配置与必须掌握的命令行

2017-04-11  本文已影响116人  多小啦

01. 一般开发流程

目前我们最常见的三类企业:外包类,生产制造类,互联网类
前端开发人员进入到公司后,可能会面对的工作职责:要么是重新开始做项目,要么是维护现有的项目。

从 0 到 1 的项目

产品经理( PM 为代表)提出需求(一张A4纸)-》产品经理转换成需求文档,原型图(草图)
美工(UI,前端)-》效果图(有的美工会给你切图)
前后端就可以进行开发(会议,确定任务计划-哪些模块,每个模块任务周期deadline):
    -》确定数据接口(有哪些数据,数据格式是什么),前后端可以一起开始。
    -》后端拼命,前端没事儿。
完成(半成品)-》测试
提交上线:css,js文件合并及压缩,html文件压缩

需求--》图--》后台设计--》前端设计--》成品
                    
github项目举例:jason-server 解决前后端接口问题。
管理项目流程软件:禅道, teambition

维护的项目

熟悉项目(拿到对应的文档,源代码)
修改bug

02. 代码管理工具

可以管理代码的各个版本(只要做了备份,就可以随意地恢复到各个版本)
在管理的过程中,不希望有过多的冗余。(差异备份,即备份不同的数据,配合原有数据,就可以恢复)
代码管理需要符合团队开发。

代码管理工具分类

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的操作步骤(思想)

  1. 使用git之前要先初始化“仓库” git init
  2. 查看跟踪状态的命令 git status
  3. 将文件加到仓库中(使git追踪这个文件) git add 文件名
  4. 提交(文件添加以后,只是存储到缓存中了,并没有存储到仓库里,提交以后,就存储到仓库中了)git commit -m/--message "提交的信息" --author=“用户名<邮箱>”
  5. 可以修改文件,再提交
  6. 查看提交日志 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值 (看某一个文件的详细内容)
上一篇下一篇

猜你喜欢

热点阅读