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.总结
这个事件也点明了:
- 如果是windows开发环境 重命名的时候, 不要简单的大小写修改
- 提交文件的时候,还是需要留个心眼儿, 冷不丁的可能会提交不是你想要提交的东西
参考 :
http://stackoverflow.com/questions/8481488/is-git-not-case-sensitive
http://stackoverflow.com/questions/10523849/changing-capitalization-of-filenames-in-git
相关推荐
git上传文件文件类型限制,如屏蔽一些依赖文件及生成文件上传
GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件GIT打包文件
C# .net的Git忽略文件整理
Git忽略文件.gitignore
git-fatal the remote end hung up unexpectedly 解决方法
git是一个可以进行配置文件错误得回滚工具,在任何时候都不能避免误删文件得可能,这个就可以解决一些问题。
git上传大文件(git-lfs)以及忽略文件配置:.gitattributes .gitignore
昨晚写代码的时候,一不小心把某个代码文件误删了。。。赶紧上网找了一下pycharm如何恢复误删文件,结果还真有。 经过操作,成功恢复了误删文件。现将方法过程记录如下: Method 在Project栏中,右键单击需要恢复的...
当上传文件存在中文时,修改上传文件编码为utf-8-bom
C# .net的git忽略文件
VisualStudio开发C#程式码时,使用Git进行版本控制。每次提交都会有一些自动生成的文件不是我们所关心的,设置忽略文件,让Git只去比对核心文件以节省时间和资源
mac本使用git上传大文件,内容详细,简单,易操作
git相关安装文件,无脑操作安装
Git-2.19.0-64-bit.exe windows 64位 下载文件。亲测可安装
附件是Git中使用.gitignore文件进行上传文件的选择性忽略的使用。可以通过使用该文件避免上传到远端一些中间文件,生成的.class文件,特定于开发环境的文件,以及敏感文件。
项目上传git过滤文件demo文件
如果你⽤用Microsoft Word写过⻓长篇⼤大论,那你⼀一定有这样的经历: 想删除⼀一个段落,⼜又怕将来想恢复找不回来怎么办?有办法,先把当前⽂文件“另存 为……”⼀一个新的Word⽂文件,再接着改,改到⼀一定程度...
git-vim, 用于Git的vim文件 git.vim简介git vim提供:在Vim中调用git函数的插件文件git显示的语法文件命令:gitadd <文件>如果没有指定,git添加 <文件> 或者当前文件。:gitcomm
git配置文件 解压后放在主目录下即可。
使用命令git add <文件>将文件添加到Git仓库中。可以使用git add .将所有文件添加到Git仓库。 4、如何查看当前分支的状态? 使用命令git status可以查看当前分支的状态,包括工作区和暂存区的改动。 5、如何提交...