自动化测试|持续集成Git使用详解

自动化测试|持续集成Git使用详解 Git介绍Git 是一个开源的分布式版本控制系统用以有效、高速的处理从很小到非常大的项目版本管理。Git 的特点分支更快、更容易。支持离线工作;本地提交可以稍后提交到服务器上。Git 提交都是原子的且是整个项目范围的而不像 CVS 中一样是对每个文件的。Git 中的每个工作树都包含一个具有完整项目历史的仓库。没有哪一个 Git 仓库会天生比其他仓库更重要。1Git安装与配置1)Windows上安装Git下载地址https://git-scm.com/download/win 最新版本为Git-2.27.0-64-bit.exe 安装步骤 1.双击 Git-2.27.0-64-bit.exe 开始安装 2.一直点击next直到出现install点击install安装完成后点 击finish 3.检查git是否安装OK cmd - git --version C:\Users\Foreknewgit --version git version 2.27.0.windows.12)Git配置由于git是分布式管理工具需要输入用户名和邮箱以作为标识因此在命令行输入下列的命令注意git config --global参数有了这个参数表示你这台机器上所有的Git仓库都会使用这个配置当然你也可以对某个仓库指定的不同的用户名和邮箱根据个人情况设置。2Git基本用法1、Git工作流程2、Git命令2.1分支操作​​​​​​​1. git branch 创建分支 2. git checkout -b 创建并切换到新建的分支上 3. git checkout 切换分支 4. git branch 查看分支列表 5. git branch -v 查看所有分支的最后一次操作 6. git branch -vv 查看当前分支 7. git brabch -b 分支名 origin/分支名 创建远程分支到本地 8. git branch --merged 查看别的分支和当前分支合并过的分支 9. git branch --no-merged 查看未与当前分支合并的分支 10. git branch -d 分支名 删除本地分支 11. git branch -D 分支名 强行删除分支 12. git branch origin :分支名 删除远处仓库分支 13. git merge 分支名 合并分支到当前分支上2.2)暂存操作​​​​​​​1. git stash 暂存当前修改 2. git stash apply 恢复最近的一次暂存 3. git stash pop 恢复暂存并删除暂存记录 4. git stash list 查看暂存列表 5. git stash drop 暂存名(例stash{0}) 移除某次暂存 6. git stash clear 清除暂存2.3)回退操作​​​​​​​1. git reset--hard HEAD^ 回退到上一个版本 2. git reset--hard ahdhs1(commit_id) 回退到某个版本 3. git checkout -- file撤销修改的文件(如果文件加入到了暂存区 则回退到暂存区的如果文件加入到了版本库则还原至加入 版本库之后的状态) 4. git resetHEADfile 撤回暂存区的文件修改到工作区2.4)标签操作​​​​​​​1. git tag 标签名 添加标签(默认对当前版本) 2. git tag 标签名 commit_id 对某一提交记录打标签 3. git tag -a 标签名 -m 描述 创建新标签并增加备注 4. git tag 列出所有标签列表 5. git show 标签名 查看标签信息 6. git tag -d 标签名 删除本地标签 7. git push origin 标签名 推送标签到远程仓库 8. git push origin --tags 推送所有标签到远程仓库 9. git push origin :refs/tags/标签名 从远程仓库中删除标签2.5)其他常规操作​​​​​​​1. git push origin test 推送本地分支到远程仓库 2. git rm -r --cached 文件/文件夹名字 取消文件被版本控制 3. git reflog 获取执行过的命令 4. git log --graph 查看分支合并图 5. git merge --no-ff -m 合并描述 分支名 不使用Fast forward方 式合并采用这种方式合并可以看到合并记录 6. git check-ignore -v 文件名 查看忽略规则 7. git add -f 文件名 强制将文件提交2.6)git创建项目仓库​​​​​​​1、git init 初始化 2、git remote add origin url 关联远程仓库 3、git pull 4、git fetch 获取远程仓库中所有的分支到本地2.7)忽略已加入到版本库中的文件​​​​​​​1、git update-index--assume-unchanged file 忽略单个文件 2、git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)2.8)取消忽略文件git update-index--no-assume-unchanged file2.9)拉取、上传免密码git config --global credential.helper store3Git基本操作1、创建版本库版本库就是我们所说的“仓库”英文名repository你可以理解为一个目录这个目录里面的所有文件都可以被Git管理文件的修改删除Git都能跟踪以便任何时刻都可以追踪历史或者在将来某个时刻还可以将文件”还原”。下面在D:下创建了一个git 的版本库2、添加文件到版本库要添加文件到版本库首先需要将这个目录变为git可以管理的仓库命令如下在git目录下创建一个test.txt文件git add将文件提交到暂存区git commit -m将暂存区文件提交到仓库单引号内为注释3、检查是否有未提交的文件通过下面的命令检查该版本库是否有文件未提交​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git status On branch master nothing to commit, working tree clean ForeknewForeknewPC MINGW64 /d/git (master)4、检查文件是否被修改修改test.txt然后重新检查状态​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git status On branch master Changes not staged forcommit: (use git add file... to update what will be committed) (use git restore file... to discard changes in working directory) modified: test.txt no changes added to commit (use git addand/or git commit -a) ForeknewForeknewPC MINGW64 /d/git (master) $ git diff test.txt diff --git a/test.txt b/test.txt index 59eb105..5d4ae7d 100644 --- a/test.txt b/test.txt -1,3 1,5 1111111111111111 2222222222222222 -3333333333333333 \ No newline at end of file 3333333333333333 4444444444444444 5555555555555555 \ No newline at end of file ForeknewForeknewPC MINGW64 /d/git (master)git diff查看文件修改的内容5、查看历史变更记录​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git add test.txt ForeknewForeknewPC MINGW64 /d/git (master) $ git commit -m fixed 2 [master 41ad1bb] fixed 2 1 file changed, 3 insertions(), 1 deletion(-) ForeknewForeknewPC MINGW64 /d/git (master) $ git log commit 41ad1bba8cdc8b528f3e3182e7d84e1146220f05 (HEAD - master) Author: admin admin163.com Date: Sat Jun 2714:25:312020 0800 fixed 2 commit dcfca195de64c268af6aa6c281f4e32dfa537ee6 Author: admin admin163.com Date: Sat Jun 2714:16:032020 0800 test.txt file commit 2020-06-27 ForeknewForeknewPC MINGW64 /d/git (master) $git log获得历史修改记录git log --prettyoneline使记录只显示主要的内容一行显示6、回退版本​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git add test.txt ForeknewForeknewPC MINGW64 /d/git (master) $ git commit -m fixed 2 [master 41ad1bb] fixed 2 1 file changed, 3 insertions(), 1 deletion(-) ForeknewForeknewPC MINGW64 /d/git (master) $ git log commit 41ad1bba8cdc8b528f3e3182e7d84e1146220f05 (HEAD - master) Author: admin admin163.com Date: Sat Jun 2714:25:312020 0800 fixed 2 commit dcfca195de64c268af6aa6c281f4e32dfa537ee6 Author: admin admin163.com Date: Sat Jun 2714:16:032020 0800 test.txt file commit 2020-06-27 ForeknewForeknewPC MINGW64 /d/git (master) $7、将本地文件推送到github仓库检查文件是否还有未提交或者修改的然后将文件提交到github仓库命令如下8、克隆GitHub远程仓库-End-