Skip to content

第13章:Git 新手面试题(基础版)

13.1 基础概念题(Git 定义、核心概念、与 SVN 区别等)

1. 什么是 Git?

答案:Git 是一个分布式版本控制系统,用于跟踪代码的变更,支持多人协作开发。

2. Git 的核心概念有哪些?

答案

  • 仓库(Repository):存储代码和版本历史的地方
  • 提交(Commit):代码的一个快照
  • 分支(Branch):代码的一个独立开发线
  • 远程仓库(Remote):存储在网络上的仓库
  • 工作区(Working Directory):本地编辑代码的目录
  • 暂存区(Staging Area):临时存储待提交的修改

3. Git 与 SVN 的区别是什么?

答案

  • Git 是分布式的,SVN 是集中式的
  • Git 存储的是完整的版本历史,SVN 存储的是变更差异
  • Git 分支更轻量级,SVN 分支较重
  • Git 支持离线操作,SVN 需要联网
  • Git 的提交速度更快

4. 什么是版本控制系统?

答案:版本控制系统是一种用于跟踪文件变化的工具,它可以记录文件的历史变更,方便回滚到之前的版本,支持多人协作开发。

5. Git 的工作原理是什么?

答案:Git 采用快照的方式存储代码,每次提交都会创建一个完整的代码快照。它使用哈希值来唯一标识每个提交,通过引用(如分支、标签)来指向特定的提交。

13.2 核心命令题(常用命令用法、场景题)

1. 如何初始化一个新的 Git 仓库?

答案

bash
git init

2. 如何将文件添加到暂存区?

答案

bash
# 添加单个文件
git add <文件>
# 添加所有文件
git add .

3. 如何提交代码到版本库?

答案

bash
git commit -m "提交信息"

4. 如何查看当前仓库状态?

答案

bash
git status

5. 如何查看提交历史?

答案

bash
git log
# 查看简洁的提交历史
git log --oneline

6. 如何创建并切换到新分支?

答案

bash
git checkout -b <分支>
# 或者使用 git switch
git switch -c <分支>

7. 如何合并分支?

答案

bash
# 切换到目标分支
git checkout <目标分>
# 合并源分支
git merge <源分>

8. 如何推送代码到远程仓库?

答案

bash
git push origin <分支>

9. 如何拉取远程仓库的代码?

答案

bash
git pull origin <分支>

10. 如何克隆远程仓库?

答案

bash
git clone <远程仓库地>

13.3 实战场景题(合并冲突解决、版本回溯、团队协作流程等)

1. 如何解决合并冲突?

答案

  1. 当 Git 提示冲突时,查看冲突文件
  2. 手动编辑冲突文件,删除冲突标记,保留需要的代码
  3. 执行 git add . 标记冲突已解决
  4. 执行 git commit 完成合并

2. 如何回滚到之前的版本?

答案

bash
# 查看提交历史,找到要回滚的提交哈希值
git log --oneline
# 回滚到指定版本(保留修改)
git reset <提交哈希>
# 回滚到指定版本(不保留修改)
git reset --hard <提交哈希>

3. 如何临时保存当前修改?

答案

bash
# 保存当前修改
git stash
# 查看暂存列表
git stash list
# 恢复暂存
git stash pop

4. 团队协作的基本流程是什么?

答案

  1. 克隆远程仓库到本地
  2. 创建功能分支进行开发
  3. 提交代码到本地仓库
  4. 推送到远程分支
  5. 创建合并请求/PR
  6. 代码审查
  7. 合并到主分支
  8. 删除功能分支

5. 如何处理误提交的情况?

答案

bash
# 撤销最近一次提交(保留修改)
git reset HEAD~1
# 撤销最近一次提交(不保留修改)
git reset --hard HEAD~1
# 如果已经推送到远程,需要强制推送
git push -f origin <分支>

13.4 面试技巧(新手如何准备 Git 面试,重点记忆点)

1. 准备重点

  • 掌握 Git 核心概念:仓库、提交、分支、远程仓库等
  • 熟悉常用命令:init、add、commit、push、pull、branch、merge 等
  • 了解 Git 工作原理:快照存储、哈希值、引用等
  • 掌握常见问题的解决方法:合并冲突、版本回滚、误操作挽救等
  • 了解团队协作流程:分支管理、PR 流程等

2. 面试技巧

  • 保持冷静,遇到不会的问题可以诚实承认,然后尝试思考
  • 结合实际项目经验回答问题,展示自己的实践能力
  • 对于命令相关的问题,可以边说边写出命令示例
  • 展示自己的学习能力和解决问题的思路
  • 了解一些 Git 最佳实践和规范

3. 重点记忆点

  • Git 的三个区域:工作区、暂存区、版本库
  • 常用命令的基本用法和参数
  • 分支管理的基本流程
  • 合并冲突的解决方法
  • 版本回滚的不同方式及区别
  • 团队协作的基本流程

通过准备这些面试题,你可以在面试中展示自己对 Git 的理解和使用能力,提高面试通过率。

© 2026 编程马·菜鸟教程 版权所有