什么是git
引入了文件版本(改了bug或新功能)控制工具
工具:SVN(基于cvs),CVS(老牌),VSS(微软),GIT(互联网1.分布式(一人一个本地仓库)2.分支管理)
为什么学习git
文档–》毕业论文.txt–》毕业论文2.txt–》。。。。。–》最终论文
开发代码文档,测试用例文档,需求文档
缺点:1.版本多,难管理 2.文档容易丢失3.文档无法回溯4.多人协作,无法互相传送
解决方案:引入文件版本控制工具
如何来git
目标
1,测试人员和本地仓库进行交互。2,本地仓库和远程仓库进行交互。
Git环境
下载
需要一个身份
- 右击git bash here
- 进行如下配置
配置用户名配置邮箱
快速入门
把文件提交给本地仓库:
选择工作区
新建文件夹0405,进入文件夹,右键git bash here
新建本地仓库
多出.git隐藏文件
查看当前状态git status:
告诉git,将文件纳入管理(将文件进入到暂存区)
git add 文件名 将文件纳入git管理
git add 目录 将目录纳入管理
git add *.txt将所有txt文件纳入管理
git add .将当前目录下所有文件纳入管理
将文件提交给本地仓库
将暂存区内容提交给本地仓库
git commit -m "任意日志信息"
回溯
提交三个版本给git管理
修改文件为第二个版本
注意:文件名更改会认为和之前不是同一个文件了
快速回溯
git reset --hard HEAD^ 上一个版本
git reset --hard HEAD^^ 上上个版本
git reset --hard HEAD~100 上100个版本
通过查看日志回溯(切换任意版本)
git reflog 查看日志
git reset --hard 版本号
文件恢复
- 文件不小心修改错了,文件还没进入暂存区(没有执行git add命令)
git checkout --文件名 从本地仓库中重新检出最新文件覆盖
- 文件已经进入暂存区,没有提交本地仓库
-
撤销在暂存区的修改
-
重新检出文件
-
3. 文件已经进入暂存区,已经提交本地仓库
同版本回溯
4. 文件已经进入暂存区,已经进入远程仓库
无解
5. 文件不小心删除了
6. 彻底删除文件
git rm 文件名
全部删除
rm -rf
分支基本操作
创建切换分支
git branch 分支名 创建分支
git checkout 分支名 切换分支
git checkout -b 分支名 创建并切换分支
合并分支
git merge 分支名
删除分支
git branch -d 分支名
远程仓库
gitee举例
产生私钥和公钥
使用ssh协议
ssh-keygen -t rsa -C "邮箱"
公钥交给gitee
cat查看公钥
本地仓库和远程仓库交互
配置
找到远程仓库地址
绑定远程仓库
git remote add origin 远程仓库地址
查看绑定的远程仓库
git remote -v
从远程仓库拉取文件到本地
两个文件
git pull origin master --allow-unrelated-histories
拉取后进入日志界面,i进入插入,esc再:WQ保存退出
本地推送到远程仓库
git push origin master
说明:一个本地仓库只能挂一个远程仓库,一个远程仓库可以被多个本地仓库绑定
从共享仓库获取内容
git clone 仓库地址
例子:没有本地仓库的工作区