当前位置: 首页 > news >正文

git还原操作

下面是对这两个命令的详细解释:


1. git reset --hard

作用:

  • 将当前分支的所有文件和提交记录还原到指定的某个提交(默认为最新提交)。
  • 所有未保存的修改和未提交的内容会被清除,无法恢复!

常见用法:

bash

git reset --hard HEAD
  • 把本地仓库还原到最新提交状态,所有本地的修改(包括已暂存但未提交的)都会被丢弃。

例子: 假如你改了代码还没提交,或者提交了但觉得不对,都可以用 git reset --hard HEAD 回到最近一次提交的状态。

注意:

  • **不会删除未跟踪(untracked)的文件。**未被 git 管理的新文件需要用 git clean -fd 清理。

2. git pull

作用:

  • 从远程仓库获取最新的代码,并把它合并到你当前的分支。
  • 相当于依次执行了:
    1. git fetch(拉取最新远程代码)
    2. git merge(合并到本地分支)

常见用法:

bash

git pull origin main
  • 从远程 origin 仓库的 main 分支拉取代码并合并到本地的当前分支。

例子: 你和同事一起开发时,同事提交了新代码到远程仓库,你需要用 git pull 把最新代码同步到你的本地仓库。

注意:

  • 如果本地和远程代码有冲突,需要手动解决冲突后再提交。

总结

  • git reset --hard强制还原代码到某个状态,不可恢复,危险操作。
  • git pull同步远程最新代码到本地,安全常用。

下面是一些同步最新远程分支代码的常用 Git 命令,以及它们的功能简要说明:


常用同步远程分支代码的 Git 命令

命令功能说明适用场景
git fetch获取远程最新分支信息和提交,但不自动合并到本地分支只想更新远程信息,不影响本地代码
git pull获取远程最新分支代码,并自动合并到当前分支本地分支需要和远程分支保持同步,推荐常用
git pull --rebase获取远程最新分支代码,并将本地提交“挪到”远程提交之后,避免多余的 merge commit本地有提交但想保持提交历史整洁
git merge origin/<branch>把远程分支代码合并到本地当前分支,需要先 git fetch需要手动控制合并流程
git rebase origin/<branch>把本地提交“移动”到远程分支最新提交之后,提交历史更线性习惯用 rebase 保持干净历史

实用命令示例

  1. 仅获取远程分支最新信息(不合并)

    bash

    git fetch origin
    
  2. 拉取并合并远程分支(常用)

    bash

    git pull origin <branch>
    
  3. 拉取并用 rebase 合并(让提交历史更整洁)

    bash

    git pull --rebase origin <branch>
    
  4. 先 fetch 后 merge(手动合并)

    bash

    git fetch origin
    git merge origin/<branch>
    
  5. 先 fetch 后 rebase(手动 rebase)

    bash

    git fetch origin
    git rebase origin/<branch>
    

补充知识

  • <branch> 通常是你要同步的分支名,比如 mainmasterdevelop 或功能分支名。
  • pull = fetch + merge;而 pull --rebase = fetch + rebase

文章转载自:

http://eL0hUDrM.gctkk.cn
http://q584NRMW.gctkk.cn
http://U6g8Wutf.gctkk.cn
http://lCMT6tlM.gctkk.cn
http://tUQhbvi5.gctkk.cn
http://DEh8FH1l.gctkk.cn
http://9zjU7Xg0.gctkk.cn
http://wKT5BMcl.gctkk.cn
http://8YDFTWlp.gctkk.cn
http://C1G1Djbw.gctkk.cn
http://VSfcgLwa.gctkk.cn
http://6bE5iDvZ.gctkk.cn
http://opdq2QP1.gctkk.cn
http://VvWtUHQR.gctkk.cn
http://IOqDJ5Np.gctkk.cn
http://M8Bt6vyg.gctkk.cn
http://uBR7aBkZ.gctkk.cn
http://2pDdYLTX.gctkk.cn
http://zLHuDQaK.gctkk.cn
http://q63G54Qj.gctkk.cn
http://xURGQvIm.gctkk.cn
http://4mQzixR4.gctkk.cn
http://8Hc3bJv4.gctkk.cn
http://vzWuXxg9.gctkk.cn
http://FVx1kPQu.gctkk.cn
http://7XX3xCWK.gctkk.cn
http://Yv7dqsEg.gctkk.cn
http://RvtVm9SC.gctkk.cn
http://KN3KSltP.gctkk.cn
http://aEwLTzLZ.gctkk.cn
http://www.dtcms.com/a/367285.html

相关文章:

  • Spring Cloud OpenFeign 核心原理
  • 【华为培训笔记】OptiX OSN 9600 设备保护专题
  • 解决 ES 模块与 CommonJS 模块互操作性的关键开关esModuleInterop
  • 解密llama.cpp:Prompt Processing如何实现高效推理?
  • 抽象与接口——Java的“武器模板”与“装备词条”
  • 数组本身的深入解析
  • Linux Centos7搭建LDAP服务(解决设置密码生成密文添加到配置文件配置后输入密码验证报错)
  • 记录一下tab梯形圆角的开发解决方案
  • java面试中经常会问到的dubbo问题有哪些(基础版)
  • illustrator-04
  • 观察者模式-红绿灯案例
  • 【LLM】FastMCP v2 :让模型交互更智能
  • Linux下开源邮件系统Postfix+Extmail+Extman环境部署记录
  • 在Anaconda下安装GPU版本的Pytorch的超详细步骤
  • 追觅科技举办2025「敢梦敢为」发布会,发布超30款全场景重磅新品
  • 从“AI炼金术”到“研发加速器”:一个研发团队的趟坑与重生实录
  • B站 XMCVE Pwn入门课程学习笔记(9)
  • 【数学建模学习笔记】机器学习回归:XGBoost回归
  • 本地部署开源数据生成器项目实战指南
  • Agentic AI 架构全解析:到底什么是Agentic AI?它是如何工作的
  • AI助力软件UI概念设计:卓伊凡收到的客户设计图引发的思考
  • 零样本学习与少样本学习
  • QT6(事件与信号及事件过滤器)
  • JavaAI炫技赛:电商系统商品管理模块的创新设计与实践探索
  • 移动端WebView调试 iOS App网络抓包与请求分析工具对比
  • 给文件加密?企业文件加密软件有哪些?
  • 【C语言】第二课 位运算
  • 【正则表达式】 正则表达式匹配位置规则是怎么样的?
  • 【LeetCode数据结构】设计循环队列
  • Python 第三方自定义库开发与使用教程