zoukankan      html  css  js  c++  java
  • git rm与直接rm的区别

    git rm

    行为:

      1.删除一个文件

      2.将被删除的这个文件纳入缓存区

    $ git rm a
    rm 'a'
    $ git status
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            deleted:    a

    提交:

      直接 git commit -m ''

    $ git commit -m 'delete a'
    [master 1cd6efe] delete a
     1 file changed, 0 insertions(+), 0 deletions(-)
     delete mode 100644 a
    
    $ git status
    On branch master
    nothing to commit, working directory clean

    恢复:

      1. 恢复暂存区

      2. 恢复工作区

    $ git reset HEAD a
    Unstaged changes after reset:
    D       a
    
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            deleted:    a
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    $ git checkout -- a
    $ git status
    On branch master
    nothing to commit, working directory clean

    直接调用系统的rm

    行为:

      从工作区删除了一个文件

    $ rm a
    
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            deleted:    a
    
    no changes added to commit (use "git add" and/or "git commit -a")

    提交:

      1.把修改加入暂存区

      2.提交暂存区的改动

    $ git add a
    
    $ git status
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            deleted:    a
    
    $ git commit -m 'delete a '
    [master 689a73d] delete a
     1 file changed, 0 insertions(+), 0 deletions(-)
     delete mode 100644 a
    
    $ git status
    On branch master
    nothing to commit, working directory clean

    恢复:

      直接恢复工作区就好了,git checout -- file

    $ git checkout -- a
    
    $ git status
    On branch master
    nothing to commit, working directory clean

      

  • 相关阅读:
    JDBC的使用流程
    typescript vscode /bin/sh: ts-node: command not found
    小程序打开app场景
    设置获取cookie,setCookie,getCookie
    解决IOS微信页面回退不刷新问题
    百度小程序添加编译
    百度小程序审核不通过,基础库问题
    Charles Mac 破解安装和证书安装成功抓包单个域名是unknown
    xhrFields实现跨域访问
    Mac上启动nginx报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
  • 原文地址:https://www.cnblogs.com/413xiaol/p/10554724.html
Copyright © 2011-2022 走看看