欢迎回到《0基础开展软件测试》系列。上一章我们了解了Git的概念和主流工具。今天我们要进入实战环节很多新人看到命令行就头大其实Git的核心命令就那么几十个。只要掌握了20%的高频命令就能应对80%的日常工作。本章将严格按照学习路径带你从零开始安装配置 - 理解术语 - 掌握命令 - 解决冲突 - 版本回溯。准备好打开你的终端Terminal/CMD了吗让我们开始吧一、什么是Git再认识一遍定义Git是一个开源的分布式版本控制系统。核心价值时光机随时回退到任何历史版本。协作器多人并行开发智能合并代码。保险箱每个本地都是完整备份服务器挂了也不怕。测试人员为什么必须会拉取最新测试代码查看谁在什么时候改了哪行代码定位Bug管理自动化测试脚本配合CI/CD流水线二、安装与配置工欲善其事下载安装官网https://git-scm.com/Windows用户下载 .exe 安装包一路Next。建议勾选Add Git to PATH方便在任何目录使用命令建议勾选Use Git from Git Bash only避免与其他命令冲突Mac用户终端输入 git --version系统会自动提示安装Xcode Command Line Tools。Linux用户sudo apt-get install git (Ubuntu) 或 sudo yum install git (CentOS)初次配置必做安装完成后首先要告诉Git你是谁。这些信息会绑定到你提交的每一次记录中。# 配置全局用户名用你的真实姓名或英文名 git config --global user.name Your Name # 配置全局邮箱务必使用你GitHub/GitLab注册的邮箱 git config --global user.email your.emailexample.com # 验证配置是否成功 git config --list 提示--global 表示全局配置只需配置一次。如果不加则只对当前仓库生效。三、Git核心术语听懂行话才能不懵圈在敲命令之前必须先理解这几个核心概念。这是理解Git工作流的基础术语英文解释比喻工作区Working Directory你电脑上能看到的项目文件夹你在这里编辑代码。你的书桌你在上面写字。暂存区Staging Area / Index执行git add后文件暂时存放的地方准备提交。快递打包台把要寄的东西先放这里。本地仓库Local Repository执行git commit后文件正式保存到你的本地Git库。你家中的储物间东西已经收好了。远程仓库Remote RepositoryGitHub/GitLab上的仓库团队共享的代码库。公司的中央档案室大家都能访问。分支Branch基于主线路创建的一条独立开发线互不影响。平行宇宙在这个宇宙里随便改不影响主宇宙。提交Commit一次版本的快照包含作者、时间、修改内容和备注信息。游戏存档点随时可以读档回来。推送Push把本地仓库的提交上传到远程仓库。把家里的存档同步到云端服务器。拉取Pull从远程仓库下载最新的提交到本地。从云端服务器下载别人的最新存档。标准工作流工作区--(git add) --暂存区--(git commit)--本地仓库--(git push) --远程仓库四、Git相关操作命令手把手教学1. 配置命令git config# 查看所有配置 git config --list # 查看特定配置项 git config user.name git config user.email # 修改配置比如换了邮箱 git config --global user.email new.emailexample.com # 设置默认编辑器可选推荐VSCode或Vim git config --global core.editor code --wait2. 仓库操作# 初始化一个新仓库在当前目录创建.git文件夹 git init # 克隆远程仓库到本地最常用 git clone 仓库URL # 例如git clone https://github.com/username/project.git # 查看远程仓库信息 git remote -v # 添加远程仓库通常clone后自动添加名为origin git remote add origin 仓库URL # 移除远程仓库 git remote remove origin3. 文件状态与提交# 查看当前仓库状态超有用不知道下一步该干嘛时就敲它 git status # 添加文件到暂存区 git add 文件名 # 添加指定文件 git add . # 添加当前目录下所有改动最常用 git add *.py # 添加所有.py文件 # 提交到本地仓库必须写备注 git commit -m 修复登录页面按钮颜色错误 # 查看提交历史日志 git log # 显示详细日志 git log --oneline # 简洁模式一行一条 git log -n 5 # 只看最近5条注意commit只是保存到本地别人还看不到必须push才上传。4. 远程仓库交互# 拉取远程最新代码并合并到当前分支测前必做 git pull # 推送本地提交到远程仓库 git push origin master # 推送到master分支 git push origin main # 推送到main分支现在很多项目默认用main git push -u origin master # 第一次推送时加上-u建立关联 # 只拉取不合并安全起见先看再合 git fetch origin5. 分支操作重中之重# 查看所有分支*号表示当前所在分支 git branch # 创建新分支但不切换 git branch 分支名 # 例如git branch feature-login # 切换分支 git checkout 分支名 # 例如git checkout feature-login # 创建并切换到新分支组合拳最常用 git checkout -b 分支名 # 例如git checkout -b fix-bug-001 # 删除本地分支先切回其他分支再删 git branch -d 分支名 # 删除远程分支 git push origin --delete 分支名 # 查看分支合并情况 git branch --merged # 已合并的分支 git branch --no-merged # 未合并的分支最佳实践永远不要在master/main主分支上直接开发每次新功能或Bug修复都新建一个分支。6. 合并与冲突高频痛点当你和同事修改了同一个文件的同一行代码Git无法自动合并时就会产生冲突Conflict。步骤1尝试合并 HEAD print(这是我在master上的代码) print(这是feature分支上的代码) feature-login如果出现CONFLICT (content): Merge conflict in xxx.py说明有冲突。步骤2解决冲突两种方法方法A在冲突文件中手动解决推荐最直观打开报错的文件如xxx.py你会看到类似这样的标记 HEAD print(这是我在master上的代码) print(这是feature分支上的代码) feature-login手动编辑决定保留哪一部分或者两部分都保留然后删除,,这些标记符号。保存文件。重新添加并提交git add xxx.py git commit -m 解决合并冲突方法B在命令编辑器中解决高级玩家如果你配置了图形化合并工具如 VSCode, KDiff3, Meld可以直接调用git mergetool会弹出可视化界面让你选择保留左边、右边还是两边。预防冲突小贴士多 pull 远程代码保持本地最新。小步提交不要憋大招。沟通和同事说清楚你要改哪个文件。7. 版本回溯后悔药不小心提交了错误代码别慌Git让你时光倒流# 撤销工作区的修改还没add git checkout -- 文件名 # 例如git checkout -- app.py 恢复到上次commit的状态 # 撤销暂存区的修改已经add还没commit git reset HEAD 文件名 # 例如git reset HEAD app.py # 撤销最近的commit已经commit还没push git reset --soft HEAD^ # 保留修改退回暂存区 git reset --hard HEAD^ # 彻底丢弃修改危险慎用 # 回退到某个特定的历史版本 git reset --hard commit-id # 例如git reset --hard a1b2c3d # 查看操作历史包括reset等操作 git reflog8. 其他常用命令# 忽略文件创建 .gitignore 文件 echo *.log .gitignore echo __pycache__/ .gitignore echo .env .gitignore # 查看代码差异 git diff # 工作区 vs 暂存区 git diff --cached # 暂存区 vs 本地仓库 git diff HEAD~1 # 当前版本 vs 上一个版本 # 标签管理打版本号 git tag v1.0.0 # 创建标签 git tag # 查看所有标签 git push origin v1.0.0 # 推送标签到远程 # 清理无用文件谨慎使用 git clean -fd # 删除未跟踪的文件和目录五、给测试新手的3条黄金建议每天上班第一件事git pull确保你测试的是最新代码避免因为代码过期而提无效Bug。Commit Message要写清楚不要写 “update”、“fix”要写 “修复登录页验证码刷新失败问题”。这不仅是给同事看也是给未来的自己看。善用git status和git log不知道下一步该干嘛敲git status。想知道谁改了啥敲git log --oneline。这两个命令是你的导航仪课后小作业评论区见实战演练假设你现在有一个项目需要完成以下任务从远程仓库克隆代码到本地。创建一个名为test-bug-fix的新分支。修改一个文件app.py。将修改提交到本地仓库备注为 “修复首页加载缓慢问题”。推送到远程仓库。请按顺序写出你需要执行的Git命令
0基础学测试:入门第八课(技术篇)| Git版本控制:从安装配置到冲突解决,一篇搞定所有核心命令
欢迎回到《0基础开展软件测试》系列。上一章我们了解了Git的概念和主流工具。今天我们要进入实战环节很多新人看到命令行就头大其实Git的核心命令就那么几十个。只要掌握了20%的高频命令就能应对80%的日常工作。本章将严格按照学习路径带你从零开始安装配置 - 理解术语 - 掌握命令 - 解决冲突 - 版本回溯。准备好打开你的终端Terminal/CMD了吗让我们开始吧一、什么是Git再认识一遍定义Git是一个开源的分布式版本控制系统。核心价值时光机随时回退到任何历史版本。协作器多人并行开发智能合并代码。保险箱每个本地都是完整备份服务器挂了也不怕。测试人员为什么必须会拉取最新测试代码查看谁在什么时候改了哪行代码定位Bug管理自动化测试脚本配合CI/CD流水线二、安装与配置工欲善其事下载安装官网https://git-scm.com/Windows用户下载 .exe 安装包一路Next。建议勾选Add Git to PATH方便在任何目录使用命令建议勾选Use Git from Git Bash only避免与其他命令冲突Mac用户终端输入 git --version系统会自动提示安装Xcode Command Line Tools。Linux用户sudo apt-get install git (Ubuntu) 或 sudo yum install git (CentOS)初次配置必做安装完成后首先要告诉Git你是谁。这些信息会绑定到你提交的每一次记录中。# 配置全局用户名用你的真实姓名或英文名 git config --global user.name Your Name # 配置全局邮箱务必使用你GitHub/GitLab注册的邮箱 git config --global user.email your.emailexample.com # 验证配置是否成功 git config --list 提示--global 表示全局配置只需配置一次。如果不加则只对当前仓库生效。三、Git核心术语听懂行话才能不懵圈在敲命令之前必须先理解这几个核心概念。这是理解Git工作流的基础术语英文解释比喻工作区Working Directory你电脑上能看到的项目文件夹你在这里编辑代码。你的书桌你在上面写字。暂存区Staging Area / Index执行git add后文件暂时存放的地方准备提交。快递打包台把要寄的东西先放这里。本地仓库Local Repository执行git commit后文件正式保存到你的本地Git库。你家中的储物间东西已经收好了。远程仓库Remote RepositoryGitHub/GitLab上的仓库团队共享的代码库。公司的中央档案室大家都能访问。分支Branch基于主线路创建的一条独立开发线互不影响。平行宇宙在这个宇宙里随便改不影响主宇宙。提交Commit一次版本的快照包含作者、时间、修改内容和备注信息。游戏存档点随时可以读档回来。推送Push把本地仓库的提交上传到远程仓库。把家里的存档同步到云端服务器。拉取Pull从远程仓库下载最新的提交到本地。从云端服务器下载别人的最新存档。标准工作流工作区--(git add) --暂存区--(git commit)--本地仓库--(git push) --远程仓库四、Git相关操作命令手把手教学1. 配置命令git config# 查看所有配置 git config --list # 查看特定配置项 git config user.name git config user.email # 修改配置比如换了邮箱 git config --global user.email new.emailexample.com # 设置默认编辑器可选推荐VSCode或Vim git config --global core.editor code --wait2. 仓库操作# 初始化一个新仓库在当前目录创建.git文件夹 git init # 克隆远程仓库到本地最常用 git clone 仓库URL # 例如git clone https://github.com/username/project.git # 查看远程仓库信息 git remote -v # 添加远程仓库通常clone后自动添加名为origin git remote add origin 仓库URL # 移除远程仓库 git remote remove origin3. 文件状态与提交# 查看当前仓库状态超有用不知道下一步该干嘛时就敲它 git status # 添加文件到暂存区 git add 文件名 # 添加指定文件 git add . # 添加当前目录下所有改动最常用 git add *.py # 添加所有.py文件 # 提交到本地仓库必须写备注 git commit -m 修复登录页面按钮颜色错误 # 查看提交历史日志 git log # 显示详细日志 git log --oneline # 简洁模式一行一条 git log -n 5 # 只看最近5条注意commit只是保存到本地别人还看不到必须push才上传。4. 远程仓库交互# 拉取远程最新代码并合并到当前分支测前必做 git pull # 推送本地提交到远程仓库 git push origin master # 推送到master分支 git push origin main # 推送到main分支现在很多项目默认用main git push -u origin master # 第一次推送时加上-u建立关联 # 只拉取不合并安全起见先看再合 git fetch origin5. 分支操作重中之重# 查看所有分支*号表示当前所在分支 git branch # 创建新分支但不切换 git branch 分支名 # 例如git branch feature-login # 切换分支 git checkout 分支名 # 例如git checkout feature-login # 创建并切换到新分支组合拳最常用 git checkout -b 分支名 # 例如git checkout -b fix-bug-001 # 删除本地分支先切回其他分支再删 git branch -d 分支名 # 删除远程分支 git push origin --delete 分支名 # 查看分支合并情况 git branch --merged # 已合并的分支 git branch --no-merged # 未合并的分支最佳实践永远不要在master/main主分支上直接开发每次新功能或Bug修复都新建一个分支。6. 合并与冲突高频痛点当你和同事修改了同一个文件的同一行代码Git无法自动合并时就会产生冲突Conflict。步骤1尝试合并 HEAD print(这是我在master上的代码) print(这是feature分支上的代码) feature-login如果出现CONFLICT (content): Merge conflict in xxx.py说明有冲突。步骤2解决冲突两种方法方法A在冲突文件中手动解决推荐最直观打开报错的文件如xxx.py你会看到类似这样的标记 HEAD print(这是我在master上的代码) print(这是feature分支上的代码) feature-login手动编辑决定保留哪一部分或者两部分都保留然后删除,,这些标记符号。保存文件。重新添加并提交git add xxx.py git commit -m 解决合并冲突方法B在命令编辑器中解决高级玩家如果你配置了图形化合并工具如 VSCode, KDiff3, Meld可以直接调用git mergetool会弹出可视化界面让你选择保留左边、右边还是两边。预防冲突小贴士多 pull 远程代码保持本地最新。小步提交不要憋大招。沟通和同事说清楚你要改哪个文件。7. 版本回溯后悔药不小心提交了错误代码别慌Git让你时光倒流# 撤销工作区的修改还没add git checkout -- 文件名 # 例如git checkout -- app.py 恢复到上次commit的状态 # 撤销暂存区的修改已经add还没commit git reset HEAD 文件名 # 例如git reset HEAD app.py # 撤销最近的commit已经commit还没push git reset --soft HEAD^ # 保留修改退回暂存区 git reset --hard HEAD^ # 彻底丢弃修改危险慎用 # 回退到某个特定的历史版本 git reset --hard commit-id # 例如git reset --hard a1b2c3d # 查看操作历史包括reset等操作 git reflog8. 其他常用命令# 忽略文件创建 .gitignore 文件 echo *.log .gitignore echo __pycache__/ .gitignore echo .env .gitignore # 查看代码差异 git diff # 工作区 vs 暂存区 git diff --cached # 暂存区 vs 本地仓库 git diff HEAD~1 # 当前版本 vs 上一个版本 # 标签管理打版本号 git tag v1.0.0 # 创建标签 git tag # 查看所有标签 git push origin v1.0.0 # 推送标签到远程 # 清理无用文件谨慎使用 git clean -fd # 删除未跟踪的文件和目录五、给测试新手的3条黄金建议每天上班第一件事git pull确保你测试的是最新代码避免因为代码过期而提无效Bug。Commit Message要写清楚不要写 “update”、“fix”要写 “修复登录页验证码刷新失败问题”。这不仅是给同事看也是给未来的自己看。善用git status和git log不知道下一步该干嘛敲git status。想知道谁改了啥敲git log --oneline。这两个命令是你的导航仪课后小作业评论区见实战演练假设你现在有一个项目需要完成以下任务从远程仓库克隆代码到本地。创建一个名为test-bug-fix的新分支。修改一个文件app.py。将修改提交到本地仓库备注为 “修复首页加载缓慢问题”。推送到远程仓库。请按顺序写出你需要执行的Git命令