Git 常用知识点(测试开发岗位)
Git 常用知识点测试开发岗位目录基础配置日常操作分支管理远程协作撤销与回退标签管理高级操作测试开发常用场景面试常问一、基础配置1.1 用户配置命令说明示例git config --global user.name配置全局用户名git config --global user.name Zhang Sangit config --global user.email配置全局邮箱git config --global user.email zhangsanexample.comgit config --list查看所有配置git config --list提示去掉--global仅对当前仓库生效1.2 仓库初始化命令说明示例git init在当前目录初始化仓库git initgit clone URL克隆远程仓库git clone https://github.com/user/repo.git二、日常操作2.1 工作区状态命令说明示例git status查看工作区状态git statusgit status -s简洁版状态git status -sgit diff查看工作区与暂存区差异git diffgit diff --staged查看暂存区与仓库差异git diff --staged2.2 暂存与提交命令说明示例git add 文件添加文件到暂存区git add index.htmlgit add .添加所有修改到暂存区git add .git commit -m 说明提交到本地仓库git commit -m feat: 新增登录功能git commit -am 说明跳过暂存区直接提交git commit -am fix: 修复buggit commit --amend修改最近一次提交git commit --amend -m 修正提交信息2.3 查看历史命令说明示例git log查看提交历史git loggit log --oneline单行精简历史git log --onelinegit log --graph图形化展示分支git log --graph --all --onelinegit log -p 文件查看文件修改历史git log -p src/main.java三、分支管理3.1 分支操作命令说明示例git branch查看本地分支git branchgit branch -a查看所有分支含远程git branch -agit branch 分支名创建分支git branch feature/logingit switch 分支名切换分支git switch maingit switch -c 分支名创建并切换分支git switch -c feature/logingit branch -d 分支名删除已合并分支git branch -d feature/logingit branch -D 分支名强制删除分支git branch -D feature/login3.2 分支合并命令说明示例git merge 分支名合并分支到当前分支git merge feature/logingit merge --no-ff 分支名禁用快进合并git merge --no-ff feature/logingit rebase 分支名变基合并git rebase mainmerge vs rebasemerge保留完整历史适合公共分支rebase线性整洁历史适合个人分支四、远程协作4.1 远程仓库管理命令说明示例git remote -v查看远程仓库git remote -vgit remote add origin URL添加远程仓库git remote add origin https://github.com/user/repo.gitgit remote set-url origin URL修改远程仓库地址git remote set-url origin 新地址4.2 推送与拉取命令说明示例git push -u origin 分支名首次推送并关联git push -u origin maingit push推送当前分支git pushgit pull拉取并合并git pullgit pull --rebase拉取并变基git pull --rebasegit fetch只拉取不合并git fetch origin五、撤销与回退5.1 撤销工作区修改命令说明示例git restore 文件撤销工作区修改git restore index.html5.2 取消暂存命令说明示例git restore --staged 文件取消暂存git restore --staged index.html5.3 回退提交命令说明适用场景git reset --soft HEAD~1仅撤销提交保留暂存区只想修改提交信息git reset --mixed HEAD~1撤销提交和暂存区保留工作区默认模式常用git reset --hard HEAD~1彻底回退丢弃所有修改危险操作慎用git revert commit-id创建新提交撤销旧提交已推送到远程的提交六、标签管理命令说明示例git tag查看标签git taggit tag v1.0.0创建轻量标签git tag v1.0.0git tag -a v1.0.0 -m 版本说明创建带注释标签git tag -a v1.0.0 -m 发布版本1.0.0git push origin v1.0.0推送标签到远程git push origin v1.0.0git push origin --tags推送所有标签git push origin --tags七、高级操作7.1 临时储藏命令说明示例git stash临时储藏修改git stashgit stash list查看储藏列表git stash listgit stash pop恢复最近一次储藏git stash popgit stash drop删除最近一次储藏git stash drop7.2 交互式变基命令说明示例git rebase -i HEAD~3整理最近3次提交git rebase -i HEAD~37.3 冲突解决# 查看冲突文件gitstatus# 手动编辑冲突文件删除 和 标记# 解决后暂存gitadd冲突文件# 完成合并gitcommit八、测试开发常用场景8.1 日常开发流程# 1. 拉取最新代码gitpull origin main# 2. 创建特性分支gitswitch-cfeature/test-api# 3. 开发测试代码# ... 编写测试用例 ...# 4. 提交代码gitadd.gitcommit-mfeat: 添加用户接口测试# 5. 推送到远程gitpush-uorigin feature/test-api# 6. 创建PR/MR等待审核合并8.2 代码审查# 查看他人提交的代码gitlog--onelinefeature/test-api# 查看具体改动gitshowcommit-id# 检查分支差异gitdiffmain...feature/test-api8.3 紧急修复# 从main创建hotfix分支gitswitch-chotfix/bug-fix# 修复bug并提交gitcommit-mfix: 紧急修复登录bug# 推送到远程gitpush origin hotfix/bug-fix# 合并到maingitswitch maingitmerge hotfix/bug-fixgitpush origin main# 删除分支gitbranch-dhotfix/bug-fix九、面试常问Q1: git add 和 git commit 的区别A:git add将工作区修改添加到暂存区git commit将暂存区内容提交到本地仓库Q2: merge 和 rebase 的区别A:merge保留完整历史适合公共分支rebase产生线性历史适合个人分支Q3: reset 和 revert 的区别A:reset直接删除提交未推送时用revert创建新提交撤销已推送时用Q4: 如何解决冲突A:手动编辑冲突文件删除标记git add后git commitQ5: 什么是暂存区A:临时存放即将提交的修改是工作区和仓库之间的缓冲区

相关新闻