美文网首页
软件测试 之 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