一. 为什么学git版本管理工具
提高效率
保证安全
- 完整的记录项目代码变化的过程
人 时间 地点 物 事 - 备份每一个变化过程的代码版本
查询历史记录
复原变更
比较差异 - 多人协同开发
分支合并
克隆提交
二. 课程内容
1. 环境配置
1.安装
Git (git-scm.com)
windows安装: https://git-scm.com/download/win
Macos安装:终端运行 $ git --version
根据提示操作
2.shell命令
pwd
获取当前所在路径
ls
全称list, 罗列当前路径文件夹
ls -la 也会显示隐藏文件
cd
change directory 改变路径
cd . 改变当前路径
cd .. 跳转到上一层
cd ~ 跳转到默认路径
cd / 跳转到根目录
mkdir
创建一个文件夹
touch
创建一个文件
rm
删除一个文件
clear
清空命令
windows系统操作
打开git bash,右键点击,选择option选项,选择text, 可以调整命令行字体字号
3.配置用户名和邮箱
命令
git config -global user.name "xxx"
git config -global user.email "xxx.163.com"
git config -list
git confit user.name
git help
4.管理git项目
git init
git init [name]
git add [filename]
git add .
5.放弃追踪
git rm --cached <file>
6. commit的作用
git commit 保存提交
git commit -m
git commit -am
2. 版本追综
1.log 追踪
git log
git log -p -2 最近两个
git log --author
git log --oneline 一行显示
git log --graph 多个分支时通过此命令查看版本线图
git log --pretty=oneline 一行
git log --pretty=format 格式订制
2. 追踪文件修改前后的区别
git diff 查看修改前后的区别
git diff --staged
3. 文件删除、重命名和文件移动
git rm [filename] 文件删除
git mv [oldname] [newname] 文件重命名
git mv [filename] stuff/pretty.txt 文件移动
4. 文件忽略
.gitignore
/node_modules 忽略node_modules文件夹下所有文件
*.log 忽略.log结尾的文件
*.zip 忽略.zip结尾的文件
git rm - r --cached.
5. 项目演练
git init
git status
git add .
git commit -m '描述‘
.gitignore
3. 复原变更
1.一键还原
git checkout - - [filename]恢复到上一次的状态
2. 撤销追踪操作与文件还原
git reset HEAD [filename] 撤销当前文件的追踪
git checkout -- [filename]
3.版本回退
git reset -- hard HEAD^ 回退到上一个版本
git reset -- hard HEAD^^ 回退到上上个版本
git reset -- hard HEAD [hash号] 回退到指定hash的版本
git reflog 指针理解
4.回到旧版本
git log
git checkout [hash] --[filename]
版本回退 v1 -> v2 -> v3 删除新的版本
回到某个版本 v1 -> v2 -> v3 -> v4 这个会保留所有的版本号
4. 分支合并
1.建立切换删除分支
git branch [name] 加名字会创建分支,不加名字会罗列当前有的分支
git checkout [branch name]切换到某个分支
git checkout -b [branch name] 建立和切换到某个分支同时进行
git branch [name] -d 删除分支
git branch [name] -D 强制删除分支
分支的作用
希望开发新功能又不能保证新功能一定实现,想不改变现有功能时 创建新分支进行开发,实现后将分支合并 不能实现的话 也不影响前面功能的使用
一个分支相当于一个移动硬盘
2. 如何正确合并分支
git merge [branch name]