很多人会问我,git的命令测试也需要掌握吗,当然了,我现在经历过两家公司都要用的,而且你要是写自动化,测开,肯定也需要平台做载体的。所以掌握git操作,是很有必要的。那么我们今天来看看,都有些什么命令吧,我们就看最常用的。
初始化仓库
$ git init
查看工作区、暂存区的状态
$ git status
添加到暂存区
$ git add
移除暂存区的修改
$ git rm --cached <file name>:
将暂存区的内容提交到本地库
$ git commit <file name>:
文件从暂存区到本地库
$ git commit -m "提交日志" <file name>:
查看历史提交
$ git log:
以漂亮的一行显示,包含全部哈希索引值
$ git log --pretty=oneline:
以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数
$ git reflog:
回到之前版本
$ git reset --hard
强制工作区、暂存区、本地库为当前HEAD指针所在的版本
$ git reset --hard HEAD:
后退一个版本
$ git reset --hard HEAD^:
后退一个版本
$ git reset --hard HEAD~1:
比较工作区和暂存区的所有文件差异
比较工作区和暂存区的指定文件的差异
$ git diff:$ git diff <file name>:
比较工作区跟本地库的某个版本的指定文件的差异
$ git diff HEAD|HEAD^|HEAD~|哈希索引值 <file name>:
查看所有分支
$ git branch -v:
删除本地分支
$ git branch -d <分支名>:
新建分支
$ git branch <分支名>:
切换分支
$ git checkout <分支名>:
合并分支
$ git merge <被合并分支名>:
克隆远程库
$ git clone <远程库地址>: 功能:完整的克隆远程库为本地库,初始化本地库
查看远程库地址别名
$ git remote -v:
新建远程库地址别名
$ git remote add <别名> <远程库地址>:
删除本地中远程库别名
$ git remote rm <别名>:
本地库某个分支推送到远程库,分支必须指定
$ git push <别名> <分支名>:
把远程库的修改拉取到本地
$ git pull <别名> <分支名>:
该命令包括git fetch,git merge
抓取远程库的指定分支到本地,但没有合并
$ git fetch <远程库别名> <远程库分支名>:
将抓取下来的远程的分支,跟当前所在分支进行合并
$ git merge <远程库别名/远程库分支名>:
复制远程库
$ git fork:
显示当前的Git配置
$ git config --list
编辑Git配置文件
$ git config -e [--global]
设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]”
git 修改当前的project的用户名的命令为:
> git config user.name 你的目标用户名;
git修改当前的project提交邮箱的命令为:
> git config user.email 你的目标邮箱名;
如果你要修改当前全局的用户名和邮箱时,需要在上面的两条命令中添加一个参数,–global,代表的是全局。
命令分别为:
> git config --global user.name 你的目标用户名;
> git config --global user.email 你的目标邮箱名;
列出所有tag
$ git tag
新建一个tag在当前commit
$ git tag [tag]
新建一个tag在指定commit
$ git tag [tag] [commit]
删除本地tag
$ git tag -d [tag]
删除远程tag
$ git push origin :refs/tags/[tagName]
查看tag信息
$ git show [tag]
提交指定tag
$ git push [remote] [tag]
提交所有tag
$ git push [remote] --tags
新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
大家需要掌握一些常用的Git操作的命令还是很必要的,可以在github 或者gitee 去搭建自己仓库,去训练自己的命令的操作。在正常的工作当中呢,就是一些常用的命令即可,我们只需要能够满足我们日常的测试即可,所以任何一项的技能的掌握,对于,我么来说都是提升。