git 与 svn 忽略提交某些文件夹
Git 版本控制屏蔽某些文件或文件夹
https://blog.csdn.net/michel4liu/article/details/79531484
场景:
IDE在编译过程中经常出现 debug release下的文件,这些文件每份代码生成或重新生成都会有变化,git就会认为是更改项,需要上传,在协作场景中如果大家都上传这些文件导致无数垃圾文件冲突,解决费时费力。
GIT已经给出解决办法 .gitignore
现在给出两个网站,这两个基本涵盖了所有IDE的.gitignore 只要找对就可以解决问题。
(注意:NET C# 对应的是 VisualStudio.gitignore 我就以为C#没有呢。看了一会才找到。)
https://gitee.com/kd_cmad/Common_gitignore
https://github.com/github/gitignore/
当然以上的不排除有特殊需求,特殊需求需要自己动手扩展,下面给出语法≈正则表达式
以下内容出自 https://segmentfault.com/a/1190000005656894
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
总结:仓库刚建立时就要创建此文件,不然刚开始协作就会出现冲突,如果已经冲突,简单点方式删除仓库重新创建,首先 创建.gitignore 然后在协作.
因windows本身不支持空文件名的文件存在 如 .gitignore 就是 空文件名 .gitignore是扩展名。创建空文件名的方法自行百度吧,因这里面有大量屏蔽文件 尽量找一个类似的修改是最好的选择。
svn ignore忽略文件
https://blog.csdn.net/qq_16979575/article/details/80657519
今天试了下svn的ignore功能,感觉比git用着别扭很多。git的话直接添加个.ignore文件后就可以忽略掉版本控制。但是svn感觉不能。
这里我用svn 拉下来一个版本(空文件夹test)。
然后用idea打开后该文件夹,生成.idea文件夹,现在我想把这个文件夹下面的内容忽略掉。
我这个时候使用svn的commit操作的话,会出现
然而我并不想这些东西出现。下面开始实验(还是切下中文版吧)
1.根据网上的说法,到TortoiseSVN>属性(properties)下面添加svn:ignore内容
点击确定后再执行commit变成这样
双击后发现就是刚刚编辑的properties内容
于是我提交了上去。
接下来去另外一个地方再拉下来一个test空文件夹,然后再用idea打开。此时生成了.idea文件,但是commit却没有出现内容
好吧,有点和git感觉相像的内容了。
结论:
就相当于把git的.ignore文件给上传上去了。因为在git中会在.ignore忽略掉.ignore文件,所以一般使用ignore都在本地。但是svn由于不知道.ignore的文件名,所以必须上传到svn服务器中。
===========分割线====================
下面讨论一下子文件夹能否直接被ignore掉。我们再刚刚的test文件夹里面建一个new文件夹。然后用idea打开new文件夹,在new下面生成.idea文件夹,然后commit
发现子文件夹里面你的.idea文件夹依旧会被提交。
这时候我们修改ignore规则,里面设置递归属性。再次进行提交后。
勾选提交后,去别的地方再checkout一个分支下来,发现new下面没有.idea文件夹。
因此感觉和git的区别是,每一个文件夹都算是一个版本库。这里设置了ignore递归规则,相当于把new这个repertory下面设置了忽略。也就可以直接把new作为一个版本给checkout到本地
备注: svn设置的话 必须处于正常【绿色】无需提交的状态
地 址 :https://www.cnblogs.com/xiaqiuchu/articles/10356424.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义