`

git 误删文件? 谁惹的货 (文件大小写修改)

    博客分类:
  • git
git 
阅读更多

1.背景

 

    今天有兄弟说我 在git上 误删了 他的js文件 

    

     我当时即刻就感到难以置信,作为10年开发经验的一枚程序员,怎么可能做这种事情!!!!

 

     但是 兄弟拿出证据了 

 



 

 2.排查

 

作为社会主义四有新人,不会做这样的事情的,通常我不会删别人的文件(如果code review 要删的话,肯定也会告知对方的), 何况这个文件还是 后台管理系统中不知道哪个功能的一个js

 

 

 

我就不信邪

 

我得查查 ,揪揪看, 到底是为什么 ,我就基于整个项目 来 show  history

 

 

嘿 还真发现, 在我的代码版本之前的几个小时 有删除记录 



 

  

 

哦, 然后问了下兄弟,  原来是 他之前 重命名了 文件名 ,  从update-item-baseInfo.js 改成  update-item-baseinfo.js    也就是从 大写的 Info 改成了 小写的 info

 

 

3. 原因

 

好嘛, 我们的开发环境 目前都是 windows操作系统,  不区分大小写, 

在 git  pull代码的时候, 原来的文件会被删除, 但是新文件的名称 对于 windows而言 和 原来的名字是一样的, 那么就不会创建新文件

 

而我当天由于批量修改了 author值, 这条删除记录从茫茫的提交记录中忽视了 自然而然的就提交了

 

4.总结

 

这个事件也点明了:

 

  1. 如果是windows开发环境  重命名的时候, 不要简单的大小写修改
  2. 提交文件的时候,还是需要留个心眼儿, 冷不丁的可能会提交不是你想要提交的东西

 

 参考 :

 

http://stackoverflow.com/questions/17683458/how-do-i-commit-case-sensitive-only-filename-changes-in-git

 

http://stackoverflow.com/questions/8481488/is-git-not-case-sensitive

 

http://stackoverflow.com/questions/10523849/changing-capitalization-of-filenames-in-git

  • 大小: 169.7 KB
  • 大小: 32.3 KB
分享到:
评论

相关推荐

    文件目录对比工具

    6. 自定义规则:用户可自定义比较规则,比如忽略空格、大小写等。 7. 脚本支持:通过脚本自动化执行对比任务。 在实际使用中,Beyond Compare可以根据需求调整视图,如侧边栏显示差异、合并视图等,以适应不同场景...

    文件对比COPY工具

    - **自定义规则**:允许设置比较规则,如忽略空格、大小写敏感性等,以适应不同需求。 2. **使用场景**: - **版本控制系统**:在Git、SVN等版本控制系统中,用于查看代码的修改历史和解决合并冲突。 - **开发...

    Linux常用命令全集

    - **split**:分割大文件成较小的部分。`split [选项] 输入 输出前缀`,用于数据管理和备份。 - **tee**:读取标准输入并写入标准输出和文件。`tee [选项] 文件`,常用于日志记录和管道操作。 - **tmpwatch**:删除...

    Beyond Compare 免费绿色免安装,下载即用

    8. **自定义规则**:用户可以根据需要设置比较规则,比如忽略空格、大小写等,使得比较结果更符合个人需求。 **使用场景** 1. **软件开发**:在编程过程中,开发者可以利用Beyond Compare检查代码的修改,确认没有...

    参考资料-连带保证契约书.zip

    IT工具如Git或云服务(Google Docs、Microsoft OneDrive)可以帮助跟踪文件的更改历史,避免冲突,并方便团队协作。 5. **电子签名**: 在法律文件中,电子签名正在逐渐替代传统的手写签名。在Word文档中,可以通过...

    Mercurial 權威指南

    - **丢失的文件:** 如果误删了文件,可以通过`hg recover`尝试找回。 **5.3 拷贝文件** - **合并后拷贝文件的内容:** 在合并过程中,拷贝文件的内容会被正确处理。 - **命令`hg copy`的行为:** 使用`hg copy`...

    高清彩版 Idea使用教程

    - **提示不区分大小写**:配置大小写敏感性。 - **剪贴板数量设置**:增加剪贴板的历史记录数。 - **生成JAVADOC**:自动生成文档。 - **设置Spring支持**:配置Spring框架支持。 - **启动时不自动打开项目**:避免...

    VSS.rar_vss

    - **签出**:在编辑文件前,先签出,获得文件的写权限。 - **编辑与签入**:完成编辑后,签入文件,将更改保存到VSS库。 - **查看历史**:可以查看文件的历史版本,了解每一次修改的详情。 - **解决冲突**:如果...

    Linux命令指南大全

    1. `chmod`:更改文件或目录的权限,如`chmod 755 file`设置所有者可读写执行,其他人可读执行。 2. `chown`:改变文件或目录的所有者,`chgrp`改变所属组。 五、搜索与查找 1. `find`:根据路径、名称、大小、时间...

    文件共享应用

    例如,使用全文搜索技术可以快速定位文件,Git等版本控制系统可以追踪文件的修改历史,而回收站则允许用户撤销误删操作。 总的来说,一个基于JavaScript的文件共享应用涉及到前端的文件操作、网络通信、安全策略,...

    第三阶段-数据库服务大纲.docx

    - **数据恢复**:如果误删了文件或代码,可以通过 Git 恢复丢失的数据。 ##### 9. GitLab 服务器 - **安装与配置**:安装 GitLab 并配置相关参数。 - **使用**:创建项目仓库,邀请团队成员加入,管理权限等。 - *...

    Java 删除项目里面的注释所用到的包.zip

    1. **备份**:在进行任何大规模的代码修改之前,一定要先备份原始代码,以防万一出错。 2. **谨慎操作**:确保工具能够正确识别和区分不同类型的注释,例如单行注释、多行注释和Javadoc注释。误删重要的Javadoc注释...

    毕设云笔记系统.zip

    3. **版本控制**:为了便于追踪笔记的修改历史,系统可能内置了版本控制功能,如Git,允许用户回溯到之前的版本,防止误删或误改。 4. **富文本编辑**:用户可以创建包含文字、图片、链接等多种格式的笔记,这需要...

Global site tag (gtag.js) - Google Analytics