【前端面试】Git篇

git 的 reset 和 revert 的区别

  1. git reset
  • 作用对象:主要用于重置当前分支的HEAD指针,将分支指向指定提交或修改历史
  • 影响范围:直接修改提交历史,导致历史变得不一致,不适合在公共分支使用
  • 使用场景:适用于撤销本地的一些修改或操作
  1. git revert
  • 作用对象:用于创建一个新的提交,撤销指定提交或提交范围的修改,并将撤销的结果作为一个新的提交加入到历史中
  • 影响范围:不会修改提交历史,创建一个新的提交来撤销指定提交,适合在公共分支使用
  • 使用场景:撤销已经发布或共享的提交,如撤销错误提交、回滚线上发布等

git 的 merge 和 rebase 啥区别

  1. git merge
  • 工作原理:会创建一个新的合并提交,将要合并的分支更改和当前分支的更改合并在一起,创建一个新的提交记录
  • 特点:合并操作会在版本历史中保留原始分支的完整历史;不会改变提交的SHA标识,保存提交历史的完整性
  • 使用场景:多个开发者在同一个分支工作时,通常会使用合并来整合彼此的更改
  1. git rebase
  • 工作原理:会将变基的分支的提交移动到目标分支上,重新创建新的提交
  • 特点:会产生新的提交历史,就像在目标分支上顺序提交一样;会改变提交的SHA标识,改变提交历史结构
  • 使用场景:保持提交历史的清晰和线性时,会使用变基,还可以用于合并主分支到功能分支,并保持提交历史的整洁,避免出现不必要的合并提交

说一下 git rebase, git cherry-pick 的用法?

  • git rebase 用于将一个分支上的提交应用到另一个分支上,或者重新整理提交历史。它的一般用法如下:

    git checkout <target_branch>
    git rebase <source_branch>

这个命令将会将 <source_branch> 上的提交逐个应用到 <target_branch> 上,并且将 <target_branch> 移动到 source_branch 的最新提交上。

  • git cherry-pick 用于将指定提交应用到当前分支上。它的一般用法如下:

    git cherry-pick <commit_hash>

这个命令会将指定的 <commit_hash> 所对应的提交复制到当前分支上,并创建一个新的提交。

常用git命令

  • git clone:克隆远程仓库到本地
  • git init:将当前目录初始化一个新的Git仓库
  • git add:将文件添加到暂存区,准备提交
  • git commit -m "commit_message" :提交暂存区的改动到本地仓库,附带提交信息
  • git status:查看工作区、暂存区状态、显示文件修改情况
  • git diff:显示工作区与暂存区差异
  • git diff --staged:显示暂存区与最后一次提交的差异
  • git log:显示提交日志,包括提交哈希、作者、日期等信息
  • git branch:列出所有分支,当前分支前会有一个星号
  • git checkout:切换到指定分支
  • git checkout -b:创建并切换到新分支
  • git merge:将指定分支合并到当前分支
  • git pull:拉取远程仓库的更新并合并到当前分支
  • git push:将本地分支的更新推送到远程仓库
相关推荐
Autumn_ing5 小时前
Design.md生成UI怎么验收?举例运营后台的颜色、状态和数据核对
前端·ui·ai·设计系统·paico·ai生成ui·design.md
keyipatience6 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
朱涛的自习室6 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
java1234_小锋8 小时前
【技术专题】HTML5 网页技术 - HTML5简介 & HTML5 文档结构
前端·html·html5
鶴哥只手遮天9 小时前
Vue 3 核心源码深度剖析系列(v3.5.44)-第 1 章 项目全景:monorepo 架构与工程化体系
前端·vue.js·开源
流星。。方9 小时前
小团队官网SEO落地:前端语义化与静态生成的工程实践
前端·状态模式
用户530429765799 小时前
盘点危化品搬运诊断的6类工具与自处理边界判断
前端
鶴哥只手遮天9 小时前
Gitea源码深度剖析-第6章 Git 底层封装与仓库存储
git·开源
鶴哥只手遮天9 小时前
Gitea源码深度剖析-第2章 启动流程与配置体系
git·开源
鶴哥只手遮天9 小时前
Gitea源码深度剖析-第4章 数据库层与 ORM 体系(xorm)
git·开源