zoukankan      html  css  js  c++  java
  • git rm

    git rm可以执行删除的条件(前提是要被删除的文件还没有从workspace tree中移除)

        git rm可以执行删除的条件:被删除文件在index当中的blob内容必须与HEAD commit指向的blob内容以及workspace tree中的文件内容一致,换句话说即当运行git status时,被删除的文件不能出现在git status的输出当中。

        git rm --cached可以执行删除的条件:被删除的文件在index当中的blob内容与HEAD commit指向的blob内容一致,或者index当中的blob内容与workspace tree中的文件内容一致,换句话说即当运行git status时,被删除的文件不能同时出现在Changes to be committed和Changed but not updated当中。

    从index当中删除已经不再worksapce tree当中的文件

        如果没有使用git rm删除,而是直接使用rm删除文件,那么,该文件只是从workspace tree当中被删除了,而没有从index当中删除,这时的解决办法有5个:

    1) 执行git rm --cached 或者git rm命令;

    2) 执行git commit -a命令;

    3)执行git add -u;

    4)执行git add -A命令;

    5)执行git commit -m msg;

    git glob的扩展

        glob在git中有两种扩展方式,一种是使用shell的扩展方式,另一种是git自己扩展,比如有下面的文件结构

                                d

                                 |

                  -----------------------

                 |                               |

                hello.txt                     dd

                                                 |

                                              hello.txt

        此时git rm d/*.txt只会删除d/hello.txt,而不会同时删除d/dd/hello.txt,因为此时glob进行的是shell扩展,而shell 扩展不会匹配/;如果使用git rm d/*.txt,则会同时删除d/hello.txt, d/dd/hello.txt,由于在*前面加入了字符,此时进行的是git扩展,git扩展可以匹配/。

    但是这里有一个疑问就是如果使用git rm *.txt或者git rm d*.txt,即使在*前面没有加入,d/hello.txt和d/dd/hello.txt都会被删除

  • 相关阅读:
    es集群的调优2
    es集群中kibana和es集群的高可用设置
    es集群中参数参数discovery.zen.minimum_master_nodes深度解析
    哔哩哔哩适合后端编程人员的elasticsearch快速实战教程学习总结
    Vue2-基本语句
    SpringBoot-ElasticSearch初使用
    Java-SSO单点登录的3种方式【待完善】
    Java-学习日记(函数式编程与@ControllerAdvice)
    SpringBoot-内置Tomcat启动原理
    Java-学习日记(Atomic,Volatile)
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5318222.html
Copyright © 2011-2022 走看看