查找git ignore的追踪

简介: 前言版本控制说简单也简单,说复杂也困难的多。作为开发者,最基础的版本管理和团队协作的功能必须掌握。而其他一些相关的信息也可以了解下。比如,这次就有同事遇到了问题。遇到的问题在windows下,往repo里添加了一个xxx.exe文件,然后检查sourceTree却并没找到暂存的更改。

前言

版本控制说简单也简单,说复杂也困难的多。作为开发者,最基础的版本管理和团队协作的功能必须掌握。而其他一些相关的信息也可以了解下。比如,这次就有同事遇到了问题。

遇到的问题

在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这些文件呢?

参考

    关注我的公众号

img_acfe50023e4718b33064273d65e4cd67.jpe
唯有不断学习方能改变! -- Ryan Miao
目录
相关文章
|
开发工具 git
【IntelliJ IDEA】如何在IntelliJ IDEA中使用Git .ignore插件忽略不必要提交的文件
【IntelliJ IDEA】如何在IntelliJ IDEA中使用Git .ignore插件忽略不必要提交的文件
392 0
|
开发工具 git
问题:git status显示过多未追踪文件
问题:git status显示过多未追踪文件
128 0
|
缓存 开发工具 git
Git .ignore 文件规则不生效
Git .ignore 文件规则不生效
180 0
Git .ignore 文件规则不生效
|
前端开发 开发工具 git
React工作67:git 屏蔽文件不被追踪
React工作67:git 屏蔽文件不被追踪
94 0
|
缓存 开发工具 git
Git .ignore 文件规则不生效
解决项目开发过程中添加的 `.gitignore` 规则不生效问题
259 0
Git .ignore 文件规则不生效
|
开发工具 git
git定位追踪一行或若干行代码修改历史记录
                                                         git定位追踪一行或若干行代码修改历史记录 先使用git blame追踪溯源这些行代码修改的历史记录,比如: git blame -L 201,208 YanBaoFragment.
2100 0
|
开发工具 git
Git_学习_03_ ignore文件配置
一、示例 .gitignore # 1.Compiled class file *.class bin target # 2.Log file *.log logs # 3.
827 0
|
Java 开发工具 Android开发
Android Studio git ignore
# Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.
779 0