• git文件取消版本控制和撤销修改


    1. 某个文件取消版本控制

    IDEA中的.idea 文件夹是不需要提交到远程仓库的,如果在.gitignore 文件中没有指定忽略.idea 文件夹,已经提交了.idea ,此时在修改.gitignore 文件就没有作用了,因为.gitignore 是用来控制尚未被纳入版本控制的文件,如果文件已经存在于远程库中,自然也就无法生效了

    1. 使用 git rm -r --cached "要取消版本控制的文件或文件夹" 将本地的 .idea 文件夹取消版本控制
    E:\ZHDSPEACE\pujiang-server>git rm -r --cached ".idea"
    rm '.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml'
    rm '.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_21.xml'
    ......
    
    • 1
    • 2
    • 3
    • 4
    1. git commit git push 提交修改
    2. .gitignore 文件中添加忽略.idea 文件夹,并提交到远程仓库
    .idea/
    
    • 1

    2. 撤销工作区、暂存区、本地仓库修改

    2.1 撤销工作区(本地)修改

    此时未将修改的文件git add
    丢弃工作区的修改,并用最近一次的commit内容还原到当前工作区,只针对文件内容的修改,添加和删除文件不起作用

    //放弃修改某个文件
    git restore <filepathname>
    
    git restore .gitignore
    
    //放弃所有修改的文件
    git restore .  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可能有的同学使用git checkout -- filename来 恢复工作区的文件,但是我总感觉git checkout命令既被用来切换分支,又被用来恢复工作区文件,刚开始使用时很是迷惑。
    这俩个命令针对文件可以完成相同的操作,所以我使用的是git restore

    2.1 撤销暂存区修改

    已经使用git add
    这里只是从暂存区撤销了文件,但是文件的修改内容并没有被撤销。
    方式一

    git restore --stage <filepathname>
    
    git restore --stage .gitignore
    git restore --stage "*.txt"
    
    • 1
    • 2
    • 3
    • 4

    方式二

    git reset HEAD <filepathname> 
    git reset HEAD .gitignore
    
    • 1
    • 2

    2.3 撤销本地仓库修改

    已经git commit

    //回退到上一次commit的状态,丢弃工作区的修改
    git reset --hard HEAD^ 
    
    //撤销commit和add 但是保存工作区修改
    git reset --mixed HEAD^
    
    //撤销commit 不撤销add 保留工作区修改
    git reset --soft HEAD^ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. HEAD说明

    HEAD 表示当前版本
    HEAD^ 上一个版本
    HEAD^^ 上上一个版本
    HEAD^^^ 上上上一个版本
    也可以使用 ~数字表示
    HEAD~0 表示当前版本
    HEAD~1 上一个版本
    HEAD^2 上上一个版本
    HEAD^3 上上上一个版本

    回滚到具体的某个版本
    git reset --hard <版本号>

  • 相关阅读:
    【C++指针】函数返回指针类型 与 函数返回英语类型(关于获取局部变量的操作)
    STM32:串口发送/接收HEX数据包代码篇(内含:实物图接线图+代码部分+个人笔记)
    跨交换机的VLAN
    2022最新版-李宏毅机器学习深度学习课程-P26 Recurrent Neural Network
    2022春季数据结构期末考试总结
    java毕业设计旧物置换网站(附源码、数据库)
    【RISC-V设计-09】- RISC-V处理器设计K0A之CIC
    Nacos 多语言体系再添新员:首个 Rust 语言版本正式发布!
    Launcher app prediction
    数据字典的作用是什么,它有哪些条目?
  • 原文地址:https://blog.csdn.net/lwd18175239125/article/details/125540750