转自:http://yang3wei.github.io/blog/2013/02/03/git-rm-he-rm-de-qu-bie/

这是一个比较肤浅的问题,但对于 git 初学者来说,还是有必要提一下的。

git rm 来删除文件,同时还会将这个删除操作记录下来;
    用 rm 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。

直观的来讲,git rm 删除过的文件,执行 git commit -m "abc" 提交时,会自动将删除该文件的操作提交上去。

而对于用 rm 命令直接删除的文件,执行 git commit -m "abc" 提交时,则不会将删除该文件的操作提交上去。
    不过不要紧,即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉,这样的话,在执行 git commit -m "abc" 以后,也能将这个删除操作提交上去。

如果之前不小心用 rm 命令删除了一大批文件呢?
    是的,此时用 git rm 逐个地再删除一次就显得相当蛋疼了。
    所幸还有更方便的处理方案,用如下的方式做提交就没有问题了: git commit -am "abc"

总结一下:

在被 git 管理的目录中删除文件时,可以选择如下两种方式来记录删除动作:
    一、rm + git commit -am "abc"
    二、git rm + git commit -m "abc"
    另外,git add . 仅能记录添加、改动的动作,删除的动作需靠 git rm 来完成。
    最后,rm 删除的文件是处于 not staged 状态的,也就是一种介于 “未改动” 和 “已提交过” 之间的状态。

下面是测试图

一、git rmrm 之间的区别

二、git add . 无法记录 rm 删除动作

三、git commit -m "abc" 无法提交 rm 删除动作

四、git commit -am "abc" 中参数 a 的作用

转载于:https://www.cnblogs.com/lance-ehf/p/3871643.html

git rm 和 rm 的区别(转载)相关推荐

  1. .gitignore无效解决方案以及git rm和rm的区别

    一. gitignore 先来了解一下gitignore的常用语法 斜杠"/"表示目录, 是否已斜杠开头有很大区别,如 /build 与 build/ 的区别:其中 build/  ...

  2. linux rm、rm -f、rm -r的区别

    # rm test.txt rm:是否删除 一般文件 "test.txt"? y # rm homework rm: 无法删除目录"homework": 是一个 ...

  3. Git常用命令备忘(一) 转载

    Git配置 git config --global user.name "robbin" git config --global user.email "fankai@g ...

  4. git在eclipse中的配置 转载

    git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...

  5. waning rm -i rm -rvfi

    waning rm -i rm -rvfi alias rm='mv -f --target-directory=/youdefinepath/.trash/'"  把这一句贴在 /etc/ ...

  6. #39;git pull#39;和#39;git fetch#39;有什么区别?

    主持人注意:鉴于此问题已经发布了67个答案 (其中一些已删除),请在发布另一个问题之前考虑您是否正在贡献新内容 . git pull和git fetch什么区别? #1楼 我花了一点时间来了解有什么区 ...

  7. .NET 的 WCF 和 WebService 有什么区别?(转载)

    .NET 的 WCF 和 WebService 有什么区别?(转载) [0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP ...

  8. rm ,rm -rf , rm -f,rm -r 以及rm 命令的其他参数命令

    rm ,rm -rf , rm -f,rm -r 以及rm 命令的其他参数命令 1.rm -rf * 删除当前目录下的所有文件,这个命令很危险,应避免使用. 所删除的文件,一般都不能恢复! 2.rm ...

  9. Git GUI,Git Bash,Git CMD标签之间的区别

    Git GUI,Git Bash,Git CMD标签之间的区别 本地安装完Git之后,右键会出现2个有关Git的标签,"Git GUI Here" 和 "Git Bash ...

最新文章

  1. pandas使用replace函数将dataframe中None值以及其他异常编码值(例如,9999)替换为np.nan
  2. oracle 视图使用rownum,Oracle数据对象--视图
  3. 四大基本反应类型的关系_初中化学7大反应类型总结,收藏
  4. 使用 Chrome 开发者工具分析内存问题
  5. P4383 [八省联考 2018] 林克卡特树(wqs二分、树形dp)
  6. 区块链基础学习(二)
  7. SQL Cumulative Sum累积求和
  8. [转]NVIDIA/ATI显卡后缀命名大盘点
  9. Nginx 安装配置
  10. Go-Kit实现莫斯电码转换
  11. 使用python的sklearn包实现CCA(典型相关分析)
  12. 【git及GitHub使用总结】(一)
  13. android手机 无电池开机画面,华为手机开不了机停在开机画面怎么办【详解】
  14. 【软件设计师】知识点与试题
  15. gdb调试程序时跳进函数和跳出函数
  16. matlab应力云图_Matlab绘制二维应力云图
  17. Linux内核设计与实现——第4章:进程调度
  18. 修改 VS 注释快捷键不生效
  19. 基本操作——word中怎样同一页中放入多张图片
  20. 【内推网】错失1800万融资之后,他用900元挽救了公司

热门文章

  1. (转)J2ME中随机数字的生成
  2. LeetCode(496)——下一个更大元素 I(JavaScript)
  3. oracle 截取指定时间戳,oracle时间函数(包括截取时间)
  4. 一个月工资6500,一年存了五万左右,算节省吗?
  5. 理财产品利息可每天提取吗?
  6. 银行不放款可以换银行贷款吗?
  7. 144Hz和60Hz显示器差别很大吗?
  8. 版权审查只会越来越严
  9. 一公顷等于多少平方米
  10. 个人品牌遇到危机怎么办?