一、Git 和 SVN 区别

1. 核心区别

对比

Git

SVN

类型

分布式版本控制

集中式版本控制

仓库位置

每个人都有完整仓库

中央服务器一个仓库

网络依赖

提交代码不需要联网

提交必须连接服务器

分支

强大、轻量

较重

速度

相对慢

适合

互联网、大模型、自动化项目

传统企业项目

离线提交

支持

不支持

历史记录

本地保存

服务端保存


2. 简单理解

SVN

结构:

       SVN服务器
           |
 -------------------
 |        |        |
开发A   开发B    测试

大家操作同一个仓库。

例如:

你修改代码:

svn commit

直接提交到服务器。


Git

结构:

          Git服务器
             |
     ----------------
     |              |
   本地仓库       本地仓库
     |
 工作区

你的电脑:

代码文件
 ↓
git add
 ↓
本地仓库
 ↓
git commit
 ↓
远程仓库

二、Git安装

Windows

官网下载:

https://git-scm.com/

安装:

一路 Next 即可。

安装完成:

打开 CMD:

git --version

例如:

git version 2.50.0

说明成功。


配置用户

第一次必须配置:

git config --global user.name "你的名字"

git config --global user.email "你的邮箱"

查看:

git config --list

例如:

user.name=zhangsan
user.email=test@qq.com

三、Git基本使用流程

1. 创建仓库

创建目录:

mkdir test_project

cd test_project

初始化:

git init

结果:

.git/

出现说明成功。


2. 查看状态

git status

例如:

Untracked files:
 test.py

表示:

Git发现新文件,但是没有管理。


3. 添加文件

单个:

git add test.py

全部:

git add .

4. 提交

git commit -m "新增登录接口测试"

例如:

[master abc123]
新增登录接口测试

四、Git常用命令

1. 查看日志

git log

简洁:

git log --oneline

结果:

a123 登录接口
b456 修改bug
c789 初始化

2. 查看修改

git diff

3. 删除文件

删除:

git rm test.py

提交:

git commit -m "删除文件"

五、Git分支

测试开发非常常用。

查看分支

git branch

创建分支

git branch dev

切换分支

旧:

git checkout dev

新:

git switch dev

创建并切换

git checkout -b dev

或者:

git switch -c dev

合并分支

例如:

master合并dev:

git checkout master

git merge dev

六、远程仓库操作

例如:

GitHub、GitLab、阿里云Codeup。

查看远程地址

git remote -v

添加远程仓库

git remote add origin 仓库地址

例如:

git remote add origin git@codeup.aliyun.com:test/demo.git

拉代码

第一次:

git clone 地址

例如:

git clone git@codeup.aliyun.com:test/demo.git

拉取最新代码

git pull

等价:

git fetch
+
git merge

上传代码

第一次:

git push -u origin master

以后:

git push

七、Git冲突处理

场景:

你和别人改同一个文件。

pull:

git pull

出现:

CONFLICT

查看:

git status

解决:

编辑文件:

<<<<<<<
你的代码
=======
别人代码
>>>>>>>

删除冲突标记。

然后:

git add .

git commit -m "解决冲突"

git push

八、Git测试人员常用场景

场景1:拉测试代码

git clone 项目地址

场景2:更新代码

每天:

git pull

场景3:提交自动化脚本

git add .

git commit -m "新增接口自动化"

git push

场景4:查看别人提交

git log --oneline

九、SVN安装

Windows

安装:

TortoiseSVN:

https://tortoisesvn.net/

安装完成。

命令行验证:

svn --version

看到:

svn, version 1.14

成功。


十、SVN基本使用

下载代码

SVN叫:

checkout

命令:

svn checkout 地址

例如:

svn checkout https://svn.xxx.com/project

查看状态

svn status

例如:

M test.py

M:

Modified


更新代码

svn update

相当于 Git:

git pull

提交

svn commit -m "修改测试脚本"

添加文件

svn add test.py

删除

svn delete test.py

查看日志

svn log

十一、SVN和Git命令对应

操作

Git

SVN

初始化

git init

svn create

下载代码

git clone

svn checkout

更新

git pull

svn update

提交

git commit + push

svn commit

查看状态

git status

svn status

查看历史

git log

svn log

添加文件

git add

svn add

删除文件

git rm

svn delete

分支

git branch

svn copy


十二、重点

必须熟练

✅ git clone
✅ git pull
✅ git add
✅ git commit
✅ git push
✅ git branch
✅ git merge
✅ git checkout/switch
✅ git log
✅ git diff

面试常问

1. Git为什么比SVN快?

因为:

  • Git本地有完整仓库

  • 大部分操作不用访问服务器


2. Git pull和fetch区别?

git fetch

只下载代码。

git pull

下载 + 合并。


3. Git merge和rebase区别?

简单:

merge:

保留历史分叉

rebase:

整理成一条直线

4. SVN为什么还有公司用?

因为:

  • 老项目多

  • 权限控制简单

  • 企业内部系统稳定


对于你现在的测开路线

优先级:

Git
 ↓
GitLab/Codeup
 ↓
Jenkins流水线
 ↓
自动化测试代码提交执行

SVN了解即可,除非目标公司是传统行业(银行、国企、制造)。你目前准备的 pytest + Jenkins + 自动化,Git 是必须熟练的。