美文网首页
软件测试 之 git命令

软件测试 之 git命令

作者: 提摩太_e9ec | 来源:发表于2019-12-26 14:34 被阅读0次

安装


在本机安装git客户端,下载地址:https://git-scm.com/downloads,根据本机的操作系统选择git版本。

本地仓库


本地仓库又叫本地版本库,即被git管理起来的本地目录,在此目录下有名为 .git 的隐藏目录。git 能够跟踪此目录中所有文件的修改、删除,以便追踪历史或还原版本。

一、创建本地仓库

  1. 打开目录,单击鼠标右键,点击 Git Bash Here
  2. 在 git bash 命令行中输入 git init,回车,提示 Initialized empty Git repository in C:/xx/.git/
  3. 当前目录下生成 .git 隐藏目录,本地仓库创建成功

二、工作区

在本地仓库中,我们能够看到的就是工作区

三、暂存区

暂存区保存的是从工作区提交的内容,通过 git add .git add filename 命令来完成提交。既然是暂时存放,最终会通过 git commit -m "v1.0" 命令,将暂存区的内容提交为本地仓库的一个版本。

git ls-files  显示暂存区中的文件
git ls-files -s  显示文件对应的Blob对象,通过Blob对象可查看文件内容
git ls-files -s file
git cat-file -p Blob对象名称  通过Blob对象查看文件内容
git rm --cached file    将文件从暂存区中移除

四、版本区

git log  查看本地当前分支commit日志
git log --stat  查看每个commit的差异
git log | grep "msg"  查看本地当前分支包含“msg”的commit日志
git log BranchName | grep "msg"  查看本地指定分支包含“msg”的commit日志
git show commitId  查看commit内容
git show BranchName commitId  查看本地指定分支commit内容
git log origin/BranchName | grep "msg"  查看远程指定分支包含“msg”的commit日志

五、查看各区不同

git status  查看工作区和暂存区的状态
git diff  查看工作区和暂存区的不同
git diff --staged  查看暂存区和版本区的不同
git diff HEAD -- file  查看工作区与版本区不同

远程仓库


GitHub是一个面向开源及私有软件项目的托管平台,Gitlab是企业内部搭建的代码仓库。

一、本地仓库和远程仓库进行关联

执行以下命令可将本地仓库与远程仓库进行关联

git remote add origin http://xxx/zwopen/season.git
git remote add origin ssh://git@xxx/zwopen/season.git

关联后遇到的问题:执行 git pull origin master 失败,提示:fatal: refusing to merge unrelated histories
原因:虽然本地仓库和远程仓库进行了关联,但仍是两个独立的仓库
解决:执行 git pull origin master --allow-unrelated-history,合并两个独立的仓库即可

git push <远程主机名> <本地分支名>:<远程分支名> 
git push origin master:master  # 将本地仓库推送到远程仓库

二、克隆远程仓库

上面提到的先创建本地仓库,再把本地仓库和远程仓库关联的方式,在实际开发中很少用到,更多是先克隆远程仓库。

git clone http://xxx/QA/qa.git

三、推送远程分支

git push --set-upstream origin yourname

版本回退


git checkout .  还原工作区所有文件的修改
git checkout -- file  还原工作区指定文件的修改

注意:
文件未提交到暂存区,git checkout 撤销修改回到和版本库一样的状态
文件已提交到暂存区且又做了修改,git checkoug 撤销修改回到添加到暂存区后的状态

git reset HEAD^  暂存区和版本区还原到上一次commit节点,所有差异存入工作区
git reset --hard HEAD  擦除工作区和暂存区所有修改
git reset --hard branch  将HEAD指向其他分支
git reset --soft HEAD  工作区不变,撤销版本区所产生的差异存入暂存区
git reflog 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset --hard commitId  通过git reflog找到reset的commitId,再用git reset恢复之前撤销的内容
git reset --hard 标签名

分支管理


git checkout -b dev  创建并切换到新分支
git merge dev  把dev合并到当前分支
git branch  查看本地分支
git branch -a  查看本地和远程所有分支
git branch -r  查看远程分支
git branch -d 分支名  删除分支

标签管理


git tag
git tag 标签名
git tag commitId 标签名

git config


git config --list
git config --local -l
git config --global -l
git config --system -l
git config --local -e  编辑仓库级别配置文件
git config --global -e  编辑用户级别配置文件
git config --system -e  编辑系统级别配置文件

参考文章


https://www.jianshu.com/p/c2ec5f06cf1a
https://www.liaoxuefeng.com/wiki/896043488029600
https://baijiahao.baidu.com/s?id=1623254575291831567&wfr=spider&for=pc

相关文章

网友评论

      本文标题:软件测试 之 git命令

      本文链接:https://www.haomeiwen.com/subject/ixsmnctx.html