• 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 <版本号>

  • 相关阅读:
    SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.18 查询文档
    Leetcode—34.在排序数组中查找元素的第一个和最后一个位置【中等】
    2023华为OD统一考试(B卷)题库清单(按算法分类),如果你时间紧迫,就按这个刷
    自制操作系统日志——第十一天
    fiddler抓包工具
    VirtualBox启动问题记录
    Java如何用EasyExcel插件对Excel进行数据导入和数据导出
    p5.js map映射
    BCG ribbon在对话框中使用
    307 周赛t4/85 双周赛t4复盘 6155/6159
  • 原文地址:https://blog.csdn.net/lwd18175239125/article/details/125540750