热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

一个奇怪的git问题,求大家帮忙分析一下?

比如我现在在工作区新建一个文件叫test.html,然后git status:git检测到这个新添加的文件,提示通过add加入暂存区。下面执行:git reset --hard貌似没有执行什么,再看g

比如我现在在工作区新建一个文件叫test.html,然后git status:

git检测到这个新添加的文件,提示通过add加入暂存区。
下面执行:
git reset --hard
貌似没有执行什么,再看git status:

还是刚添加文件时的git status提示,新添加的test.html没有被删除。

现在执行:
git add dist/test.html
在查看git status状态:

新添加的test.html放入暂存区,下面执行:
git reset --hard
再看git status,工作区和暂存区全部干净了,新添加的test.html也没有了。

总结下两次操作的区别:
同样是新建了一个test.html文件
第一种是直接git reset --hard,新建test.html文件在工作区被保留
第二种是先add这个新建test.html文件,被添加到暂存区,然后git reset --hard,工作区的test.html文件也被删除了。
如果git reset --hard是拿上次提交的记录来覆盖工作区和暂存区的话,那么第一种情况时,test.html就应该被删除。如果是git reset --hard不对没有被追踪的文件进行处理的话,第二种情况下,test.html在工作区不会被删除。
自己已经晕了,等git来解答,我觉着这很可能是git的一个bug。


推荐阅读
author-avatar
_i逗比_985
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有