码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • git撤销未git commit的文件


    目录

    一、问题描述

    二、方式1:git命令撤销(更专业)

    1、文件已git add,未git commit

    2、本地修改,未git add

    (1)撤销处于unstage的文件,即删除已有变动

    (2)如何撤销 Untracked files 新创建的文件和目录

    3、操作示范

    三、方式2:git gui撤销(更简单)

    1、打开 git gui

    2、在git gui界面操作


    一、问题描述

    在git中,有些内容想撤销回来,不更改,我该如何操作呢?

    下面提供两种方式处理。

    二、方式1:git命令撤销(更专业)

    1、文件已git add,未git commit

    此时,所有文件都处于stage状态。

    想stage文件变为 unstage 和 Untracked files 文件,

    可以使用下面的命令撤销一个或多个文件:

    git restore --staged ...

    【说明】

    1,多个时,中间用空格隔开

    git restore --staged {modifiedFile} {newFile} {deletedFile}

    2,文件可以是修改的(modified),新建的(new file),已被删除的(deleted)。

    3,文件:执行 git status 时展示的文件路径。

    2、本地修改,未git add

    (1)撤销处于unstage的文件,即删除已有变动

    使用下面的命令撤销一个或多个文件:

    git restore ...

    【说明】

    1,可以是多个,中间用空格隔开

    git restore {modifiedFile} {deletedFile}

    2,文件可以是修改的(modified),已被删除的(deleted)。

    3,新建的(new file)文件不能操作,如果操作返回下面的异常:

    (2)如何撤销 Untracked files 新创建的文件和目录

    注:Untracked files(未监控) 是我新增的文件,还没有被跟踪的文件。

    【解决方案】

    1,查看要删除的文件和目录,避免误删

    git clean -ndf

    2,在项目中查找和删除

    在项目代码中,

    根据上面查看的文件路径,找到文件,

    然后执行删除操作。

    【方案中的第二步为什么不用命令说明】

    1,删除文件

    git clean -xf

    如下图,删除了我不想删除的 .iml 文件。

    2,删除文件和目录

    git clean -xdf

    如下图,也是删除了我不想删除的文件和目录。

    所以,以上两个命令是个坑,根据自身情况进行操作。

    如果操作了也有补救,看我这篇内容:

    idea中误删.iml和.idea文件,如何处理-CSDN博客

    3、操作示范

     注:st 是 status

    总共有5个操作:

    第一个,查看是git add的内容,是绿色,表示是stage文件。

    第二三个,通过 git restore --staged 处理,再次查看,是红色,表示是unstage文件。

    第四五个,再执行 git restore ,查看发现已经没有变动的文件了,表示已经删除了已有的变动。

    三、方式2:git gui撤销(更简单)

    1、打开 git gui

    在git bash中,

    切换到git项目目录下,

    执行git gui命令,

    触发打开git gui页面。

    2、在git gui界面操作

    如图,可以git add,git commit,git push,还能撤销 unstage,revert 等。

    界面操作,简单方便。


    我是程序员娟娟,

    致力将工作中遇到的问题和解决方案记录下来,

    分享给更多需要的同行。

    如果对你有帮助,不妨点个关注吧!

  • 相关阅读:
    使用 Go 语言读取文件内容并进行反序列化
    基于GA遗传优化的PID控制器控制参数整定matlab仿真
    2023外卖霸王餐程序、外系统霸王餐H5/APP程序源码|美团/饿了么霸王餐系统 粉丝裂变
    【经典】本地存储、时间格式化工具、动态路由封装
    [每日两题系列]刷算法题咯~~
    Hadoop中配置文件重要属性释义
    Python JSON和XML使用总结
    基于ES6的文章发布系统的设计与实现
    在3台不联网的 CentOS 7.8 服务器上部署 Elasticsearch 6.8 集群
    MySQL数据库之键
  • 原文地址:https://blog.csdn.net/djj1015591892/article/details/134414001
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号