常用命令:
- pwd (Print Working Directory) 查看当前目录
- cd (Change Directory) 切换目录,如 cd /etc
- ls (List) 查看当前目录下内容,如 ls -al
- mkdir (Make Directory) 创建目录,如 mkdir blog
- touch 创建文件,如 touch index.html
- cat 查看文件全部内容,如 cat index.html
- less 查看文件,如more /etc/passwd、less /etc/passwd
- rm (remove) 删除文件,如 rm index.html、rm -rf blog
- rmdir (Remove Directory) 删除文件夹,只能删除空文件夹,不常用
- mv (move) 移动文件或重命名,如 mv index.html ./demo/index.html
- cp (copy) 复制文件,cp index.html ./demo/index.html
- tab 自动补全,连按两次会将所有匹配内容显示出来
- \> 和 >>重定向,如echo hello world! > README.md,>覆盖 >>追加
- | 管道符可以将多个命令连接使用,上一次(命令)的执行结果当成下一次(命令)的参数。
- grep 匹配内容,一般结合管道符使用
vi编辑器
常用操作:
- a) 打开/创建文件, vi 文件路径
- b) 底行模式 :w保存,:w filenme另存为
- c) 底行模式 :q退出
- d) 底行模式 :wq保存并退出
- e) 底行模式 :e! 撤销更改,返回到上一次保存的状态
- f) 底行模式 :q! 不保存强制退出
- g) 底行模式 :set nu 设置行号
- h) 命令模式 ZZ(大写)保存并退出
- i) 命令模式 u辙销操作,可多次使用
- j) 命令模式 dd删除当前行
- k) 命令模式 yy复制当前行
- l) 命令模式 p 粘贴内容
- m) 命令模式 ctrl+f向前翻页
- n) 命令模式 ctrl+b向后翻页
- o) 命令模式 i进入编辑模式,当前光标处插入
- p) 命令模式 a进入编辑模式,当前光标后插入
- q) 命令模式 A进入编辑模式,光标移动到行尾
- r) 命令模式 o进入编辑模式,当前行下面插入新行
- s) 命令模式 O进入编辑模式,当前行上面插入新行
版本控制概述
版本控制工具:初始化项目的时候 在版本号1.0.0 基础上开发 1.0.1更新 旧版本仍然保留 任何人改代码之后都上传到版本控制工具 在基础上再开发
分类:
1.本地版本控制---------------早期 单一 无法合作
2.集中版本控制------------------实现合作
每次提交都要下载最新的版本进行更改 有冲突的话互相沟通 再上传新版本
缺点:1服务器挂了 都得等 影响效率 2每一个版本都是上一个版本的拷贝 性能差 3一切操作都需要联网操作
3.分布式版本控制------------------修改后在本地仓库提交 不需要联网,之后再提交到远程仓库,另一个人再下载最新的版本,在基础上修改,彼此之间可以协作、互相分享,每个人本地都有一套版本,不依赖于服务器
git相关概念
1.本地仓库
2.远程仓库
git工作原理
对于本地仓库有如下三个工作区域
1、工作目录----新建的文件以及修改的文件,一开始所有的代码都在这里 但还没有纳入git的管理
2、暂存区--------将工作目录的代码上传到暂存区,提交到这里的文件git可以进行实时管理
3、本地仓库(代码版本库)-----将要提交到远程仓库的代码 整理好就可以上传到本地仓库
关系:工作目录<-->暂存区<-->本地仓库
四种工作状态
未追踪 untraced
已暂存staged
已提交commited
已修改modified
git工作流程
初始化本地仓库:git init
查看仓库文件状态: git status
把工作目录中新添加的文件添加到暂存区(把修改后的内容添加到暂存区):
git add --文件列表(文件之间使用空格隔开)
git add * 添加所有文件
git add 文件夹名称
把暂存区文件添加到本地仓库:
git commit 可以直接这样执行,但是会进入vi编辑窗口,此时要写入备注信息
git commit -m 备注 提交所有的暂存文件
git commit -m 备注 文件列表 提交特定的文件
git commit -a -m 备注 跳过暂存区直接提交
回滚修改的内容
git checkout -- 文件列表(回滚指定文件)
git checkout . (回滚所有的文件)
回滚版本快照
git reset --hard
git reset --hard HEAD以上两种等效 最新的快照回滚 没有修改版本快照 指向
git reset --hard HEAD^倒数第二个快照回滚 修改版本快照指向
git reset --hard commitid(回滚指定的版本快照)
1.修改版本快照的指向 2.覆盖暂存区 3.覆盖工作目录
git reset --soft
git reset --soft HEAD
git reset --soft HEAD^
git reset --soft commitid
1.只修改版本快照
git reset
git reset --mixed
git reset HEAD
git reset HEAD^
git reset commitid
1.修改版本快照的指向 2.覆盖暂存区,但不覆盖工作目录
git分支操作
创建命令、切换命令、合并命令、删除命令
git命令:
创建分支:git branch 分支名称(不需要加引号)
切换分支:git checkout 分支名称
合并分支:git merge 分支名称(把别的分支合并到当前分支)
删除分支: git branch -D(强制删除分支) -d(与远程分支有关)
创建并切换分支: git checkout -b 分支名称
该命令相当于git branch 分支名称 和 git checkout 分支名称 的共同作用
git