Easton's Blog Easton's Blog
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)

Easton Yang

爱生活😊爱学习
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)
  • Git

    • Git基础知识
    • Git常用命令
    • Git开发规范
    • Git各种回退
      • 修改文件 add 前
      • 新增文件 add 前
      • 新增/修改 add 后
      • commit 后
      • 本地当前分支与远程分支保持一致
      • 恢复删除的文件
    • Git文件名大小写导致的坑
    • GitHub好玩的用法
  • 工具
  • Git
eastonyangxu
2023-06-02
目录

Git各种回退

注意

这里面的命令大部分会丢失代码,所以请检查好以后在使用。使用前可以做好备份。

# 修改文件 add 前

# 抛弃工作区所有修改(modified)的文件(慎用,会丢失代码)
git checkout .

# 抛弃工作区指定修改(modified)的文件(慎用,会丢失代码)
git restore [file-name]
1
2
3
4
5

# 新增文件 add 前

# 删除单个文件(该命令可以删除任意文件,会丢失代码)
rm -rf [file-name]

# 删除新增的文件,如果文件已经 git add 到暂存区,并不会删除!(慎用,会丢失代码)
git clean -xdf

# 删除新增的文件和文件夹,如果文件已经 git add 到暂存区,并不会删除!(慎用,会丢失代码)
git clean -xdff
1
2
3
4
5
6
7
8

# 新增/修改 add 后

# 单个文件,回退到 add 前(不会丢失代码,下面两个命令任一都可以)
git restore --staged [file-name]
git reset HEAD [file-name]

# 所有文件,回退到 add 前(不会丢失代码,下面两个命令任一都可以)
git restore --staged .
git reset HEAD .

# 丢弃新增/修改(慎用)
git reset --hard
1
2
3
4
5
6
7
8
9
10

# commit 后

参数介绍查看 reset 用法

# 回滚到指定 commit-id ,commit-id后的改动/新增会到 工作区(add 前,不会丢失代码)
git reset [commit-id]

# 回滚到指定 commit-id ,commit-id后的改动/新增会到 暂存区(commit 前 add 后,不会丢失代码)
git reset --soft [commit-id]

# 回滚到指定 commit-id,并删除commit-id后所有修改和未commit的修改(慎用,会丢失代码)
git reset --hard [commit-id]

# 回滚指定 commit-id,删除commit-id后所有修改 但是 保留未commit的修改(慎用,会丢失代码)
git reset --keep [commit-id]

# 提示:可以通过 git log 命令查看 commit-id。
1
2
3
4
5
6
7
8
9
10
11
12
13

# 本地当前分支与远程分支保持一致

# 会丢失本地分支与远程分支差异的部分。(慎用,使用前可以备份分支)
git reset --hard origin/<branch-name>
1
2

# 恢复删除的文件

# 如果确认要恢复的文件已经被删除,可以使用以下命令将其恢复到最新的提交状态
# 其中 <file_path> 是要恢复的文件路径。
git checkout -- <file_path>
1
2
3
#Git
上次更新: 2024/01/04, 10:46:38
Git开发规范
Git文件名大小写导致的坑

← Git开发规范 Git文件名大小写导致的坑→

最近更新
01
攻略制作要点
07-18
02
摄影主题拍摄
07-18
03
延时摄影剧本
07-18
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Easton Yang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式