查找git ignore的追踪
前言
版本控制说简单也简单,说复杂也困难的多。作为开发者,最基础的版本管理和团队协作的功能必须掌握。而其他一些相关的信息也可以了解下。比如,这次就有同事遇到了问题。
遇到的问题
在windows下,往repo里添加了一个xxx.exe文件,然后检查sourceTree却并没找到暂存的更改。
解决
我由于长时间不用source tree, 也不用eclipse,对这两种工具里的git操作也不太熟悉,幸好git的操作都是基于命令行的。
我先检查了.gitignore
文件,发现里面并没有忽略所添加的xxx.exe
。然后就很奇怪,难道会有global的ignore?果然,真有!
可以通过以下命令确定我们的被ignore的规则:
D:\workspace\learn\git-test>git check-ignore -v src/git-bash.exe
"C:\\Users\\Ryan\\Documents\\gitignore_global.txt":6:*.exe src/git-bash.exe
从结果可以看出,果然存在一个global的配置。
#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.dll
*.lib
*.sbr
删除第6行的rule。于是发现可以继续追踪文件了。
gitignore的意义
在开发过程中发现很多同事并不理解gitignore的意义所在,经常看到有同事新建了一个repo,然后并没有.gitignore
,然后就会发现推送一堆ide或生成的配置文件到remote。或者,并没有推送过去,但当我clone下来,然后本地修改提交后发现很多不需要的文件被追踪。后来发现,原来大家习惯了source tree,然后都是提交的时候选择想要的文件,然后推送。这真是个令人不开心的发现。个人认为,这种做法对开发是很不友好的,虽然source tree的图形化界面简化了git使用。但如果忘了提交某个文件怎么办?如果不小心多添加了文件怎么办?如果一次添加了大量的文件如何排查?所以,除了要添加.gitignore
之外,系统的学习下git的使用也是很有必要的。
比如,曾经遇到过这样的问题,由于repo最初没有gitignore,我后面加上ignore之后,发现被ignore的文件依旧会被追踪。那么,如何彻底的清除和ignore这些文件呢?
参考
关注我的公众号

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2016-04-08 敏捷开发Scrum