"git rm" 和 "rm" 的区别
2013-09-29 09:23
169 查看
"git rm" 和 "rm" 的区别
FEB 3RD, 2013 | COMMENTS这是一个比较肤浅的问题,但对于 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 rm与
rm之间的区别
二、
git add .无法记录
rm删除动作
三、
git commit -m "abc"无法提交
rm删除动作
四、
git commit -am "abc"中参数 a 的作用
相关文章推荐
- "git rm" 和 "rm" 的区别
- 使用".."指定git提交范围与"..."指定git提交范围的区别
- " "和null的区别
- 详细解释 hashcode equals() "==" 的区别和联系
- js中的"=="和equals()以及is()三者的区别
- "网管师"与"网管员"和 "网络工程师"的区别
- "_variant_t(ole_time)"与“(_variant_t)ole_time”到底有什么区别
- [转]"git rm" 和 "rm" 的区别
- <context:component-scan base-package="">与 <context:annotation-config/>的区别
- <jsp:include>和<%@include file=""%>区别
- <%@include file=""%>和 <jsp:include file="">之间的区别
- 记录一次剁手的"sudo rm -rf /bin"(误删linux /bin目录)
- 用_T("")和直接用""的区别
- "=="和equals方法究竟有什么区别?
- "=="和equals方法有什么区别?
- "hello"和new String("hello")的区别?
- "<br />"和 "\r\n" 这两者有什么区别??
- <%@ include file=""%>与<jsp:include page=""/>区别
- <jsp:include>和<%@include file=""%> 有什么区别
- "2>&1 > file"和 "> file 2>&1"区别?