`

Git忽略文件(转载好文)

阅读更多

摘自:http://cwind.iteye.com/blog/1666646

自己亲自尝试过,方法靠谱!        

有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。


============一些牢骚============
     于是自然想要告诉git把这些文件忽略,我们当然会想到去Google,输入本文标题这个关键字(一部分人会直接去看document),然后当然会有很多解决方案,多数告诉我们在.gitignore文件中添加待忽略的文件目录列表;照做,问题很有可能依然存在。
     再Google,这次可能找到了help.github.com或stackoverflow上,看到一些原文的讨论;其中讲到在向.gitignore添加忽略文件之前一定要保证那些文件未被git跟踪,即先使用命令git rm --cached filename将它们从索引中删除。终于看到靠谱的解决方案不禁暗喜,照做--敲一下git status试试,问题很有可能仍然存在。
     太多中文“技术资料”是复制照搬过来的,转载的人自己并没有试过;稍好一点的在英文社区看到了相关讨论,随手翻译了一下发过来,可能存在理解上的问题或者忽略了一些细节,导致依然没办法解决问题。
     所以搜索引擎给出的中文的结果,有很多对解决问题丝毫无用的。Git忽略文件是很普遍也应该是很简单的一个问题,但多数帖子根本连这个问题都没搞明白,于是引发了这一系列的牢骚。
     遇到问题要多思考,想想问题的本质,解决方法的原理;最重要的是要切实地去动手做。
============牢骚结束============

解决方案:
1. 本地仓库忽略
本地仓库的文件忽略规则可以在.git/info/exclude文件中添加。这些忽略的文件不会提交到共享库中,因而不会被协作者所共享。

2. 当前工作目录添加文件忽略
对于每一级工作目录,创建一个.gitignore文件,向该文件中添加要忽略的文件或目录。但在创建并编辑这个文件之前,一定要保证要忽略的文件没有添加到git索引中。使用命令git rm --cached filename将要忽略的文件从索引中删除。
--摘抄.gitignore的格式规范
• 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
• 可以使用标准的 glob 模式匹配。
• 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有 0 到 9 的数字)。
2.1 工作目录的每一层下级目录都可以有一个.gitignore文件,以说明当前目录下需要被git忽略的文件或目录
2.2 .gitignore文件可以被提交到共享库中被协作者共享

3. 全局的.gitignore
可以通过创建~/.gitignore_global并添加到git全局配置以减少每层目录的规则重复定义。使用命令git config --global core.excludesfile ~/.gitignore_global即可
.gitignore_global文件范例
Ruby代码  收藏代码
  1. <span style="font-size: small;"># Compiled source #  
  2. ###################  
  3. *.com  
  4. *.class  
  5. *.dll  
  6. *.exe  
  7. *.o  
  8. *.so  
  9.   
  10. # Packages #  
  11. ############  
  12. # it's better to unpack these files and commit the raw source  
  13. # git has its own built in compression methods  
  14. *.7z  
  15. *.dmg  
  16. *.gz  
  17. *.iso  
  18. *.jar  
  19. *.rar  
  20. *.tar  
  21. *.zip  
  22.   
  23. # Logs and databases #  
  24. ######################  
  25. *.log  
  26. *.sql  
  27. *.sqlite  
  28.   
  29. # OS generated files #  
  30. ######################  
  31. .DS_Store  
  32. .DS_Store?  
  33. ._*  
  34. .Spotlight-V100  
  35. .Trashes  
  36. Icon?  
  37. ehthumbs.db  
  38. Thumbs.db  
  39. </span>  


 References:

2. 初次使用git-忽略某些文件, http://www.phperblog.net/?p=173
3. git ignore file, Git增加忽略文件, http://www.cnblogs.com/wucg/archive/2011/08/16/2141647.html
分享到:
评论
1 楼 micallz 2014-04-13  
绝知此事要躬行。

相关推荐

    C# .net的Git忽略文件整理

    C# .net的Git忽略文件整理

    Git忽略文件.gitignore

    Git忽略文件.gitignore

    vs2022设置git忽略文件

    这是一个文本文件,用于定义Git应该忽略的文件或文件类型。每个`.gitignore`文件可以包含一系列规则,每条规则定义了一种应被忽略的模式。例如,我们可以添加一行`*.obj`来忽略所有以`.obj`结尾的文件。 在VS2022中...

    C# VisualStudio相关Git忽略文件 .gitignore

    VisualStudio开发C#程式码时,使用Git进行版本控制。每次提交都会有一些自动生成的文件不是我们所关心的,设置忽略文件,让Git只去比对核心文件以节省时间和资源

    C#/.NET语言的GIT忽略文件模板(.gitignore)

    C#/.NET语言完美的.gitignore文件,直接覆盖C#项目工作区目录中的 .gitignore 同名文件即可。

    iOS git 配置文件

    本文将详细讲解如何在iOS项目中配置Git,特别是针对大文件的处理以及忽略特定文件的设置。 首先,我们来看`.gitattributes`文件。这个文件是用来指定Git如何处理不同类型的文件。在iOS项目中,我们可能有一些较大的...

    idea-git忽略提交插件

    在`.gitignore`文件中,你可以列出这些规则,这样在执行`git add`或`git commit`时,这些被忽略的文件就不会被跟踪。 Idea中的"idea-git忽略提交插件"则进一步优化了这一过程。通过安装这个插件,开发者可以直接在...

    Android Studio 配置忽略文件的方法实现

    当我们在进行上传代码到Git、SVN仓库时,通常需要先配置忽略文件,这样主要是方便上传的代码下载的时候不会与编译器和Gradle的版本发生冲突,能够保证下载的代码能正常运行。 操作步骤 打开Android Studio中的File下...

    git 忽略不需要提交代码 工具文件

    放在项目的根目录即可。git 提交代码时 有些不需要提交的文件进行忽略,例如 target 等等...。方便快捷 下载直接使用即可,安静 舒适 便捷

    git上传文件类型限制

    git上传文件文件类型限制,如屏蔽一些依赖文件及生成文件上传

    Git客户端 Git GUI 界面中文语言包

    Git中文语言包是为了方便中文用户使用Git GUI而设计的,它将原本英文的界面翻译成中文,使得用户能够更好地理解和操作各种功能,降低了学习曲线。在开发过程中,语言包的制作通常涉及到对源代码中的字符串进行翻译,...

    C#语言的GIT忽略文件模板(.gitignore)

    直接覆盖C#项目工作区目录中的 .gitignore 同名文件即可。

    Git Extensions中文包.rar

    Git Extensions是一款强大的Git图形用户界面,它为开发者提供了一个直观的平台来管理和操作Git版本控制系统。...如果你是Git的新手,同时又对图形化操作有所偏好,那么Git Extensions绝对是一个值得尝试的好工具。

    Git全局忽略配置脚本

    Git全局忽略配置脚本

    git要忽略文件的配置

    git上传到源码库要忽略文件的配置,添加到文件夹下vs中上传代码时生成的obj、bin就会自动被忽略

    gitblit1.8 中文修正版

    gitblit-应用版-1.8.jar 为应用版本 替换应用下的文件 gitblit.jar wicket 有中文问题一并替换 注意: 如果提示找不到WebPage,将wicket-1.4.23.jar 拷贝到tomcat/lib目录一份。 如果是apache+tomcat方式,有乱码...

    git 忽略文件的配置文件

    1.工具-选项-源代码管理-git存储库设置-常规,添加忽略文件 2.配置文件不起作用的处理 如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存...

    VS2019的git常用过滤文件.gitignore

    VS2019的git常用过滤文件.gitignore

    git安装文件.zip

    标题“git安装文件.zip”指的是包含Git安装程序的压缩文件,用于在Windows 64位系统上安装Git。描述中的“Git-2.19.0-64-bit.exe”是Git的特定版本,即2.19.0,专为64位Windows操作系统设计。"亲测可安装"意味着该...

    .gitignore常用格式,本人一直使用,适合Unity+Git管理 用于忽略工程不想要管理的文件

    用于忽略工程不想要管理的文件 其中Library/表示忽略Library文件夹里面所有的内容,*.sln表示忽略所有以.sln后缀的内容 内容参考: Library/ Temp/ Logs/ UserSettings/ Obj/ *.vs/ *.idea/ .vsconfig *.sln *....

Global site tag (gtag.js) - Google Analytics