阿里云开发者社区

电脑版
提示:原网页已由神马搜索转码, 内容由developer.aliyun.com提供.

【实测】gitlab/github 如何过滤项目内的文件

2024-01-0592
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:【实测】gitlab/github 如何过滤项目内的文件

很多老程序员的常识性问题,往往是难倒新人的最后一根稻草。因为这类简单基础的问题,却往往连最起码的教程资料都查不到,因为老程序员懒得写也不敢写,怕被骂太水皮毛。   但是据我观察,最近粉丝群有人问到为什么自己的项目PUSH过滤文件失败,然后不少群友纷纷帮忙,结果这说法却五花八门,各种错误不确定的回答充斥出来,对,就是这样一个简单的过滤问题。
   然后一些群友去百度相关的教程文章,却发现基本都是复制粘贴,而且说的模糊不清,连个最起码的例子都木有。这种感觉就像是...就像是一个教授给一个科学家写的论文一样,全是省略,暗示和反问。压根就不是给我们小学生看的....   于是我准备背着被人喷水文的骂名,给大家具体写一篇这个git过滤问题的实测实例文章!


   首先,我们去gitlab注册一个空项目,项目目录如下,可以看到什么都没有(除了自带README.md)

  

   然后把它clone下到本地电脑上,打开这个文件夹可以看到依然什么都木有!

   然后我们实验来了!注意看,我新建了俩个文件:a.txt , b.txt

   预期是,把a.txt过滤掉,留着b.txt上传成功。

   那我们就新建一个.gitignore文件,注意文件是隐藏的,因为前面有.

   并且在这里面写上:  

   然后执行那一套老命令push:   git add .   git commit -m '.'   git push   上传成功后,仓库内容如下:  

可以看到,这个.gitignore 和b.txt 都成功上去了哦,只有a.txt不在,这说明过滤成功!

   然后我们再测试,文件夹下的多层级文件过滤:c/c/c/c.txt  

.gitignore文件中这么写:

push成功后,结果如下:

可以看到,不光c.txt没有上来,连它的各个层级目录也没上来。如果你的项目中,需要上传目录的话,那我建议你还是手动去服务器上新建这几个目录,一劳永逸。

然后继续测试,这个文件夹下有一大堆内容,全部过滤怎么写?

push成功结果如下:

如上图所示,abc三个txt文件和 三层的c目录 都没有上传,全都被过滤掉了!所以,用*可以全部过滤掉了。


继续测试,如果只想过滤掉c.txt,留着a.txt 和b.txt呢?

结果如下:

可以看到,三层c目录都上来了,并且a.txt 和b.txt也在,只有c.txt过滤掉了。

继续测试,如果我想全过滤掉,但是目录只写到一层可不可以?

结果如下:

可以看到,并没有成功,所以结论是 * 只能过滤掉文件,当文件夹内容都被过滤掉后,文件夹也会过滤掉。

那么问题来了,本来就是空文件夹,没有写过滤设置,还能上传么?

测试如下:

结果如下:

可以看到,并没有上传,所以文件夹果然是要有点内容才会上去的哦!

关于过滤,还有很多高级用法和复杂设置,欢迎追更哦~

相关文章
|
27天前
|
SQLJavaScript前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
3222
|
27天前
|
人工智能RustJavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
5711
|
27天前
|
RustDart前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
6611
|
27天前
|
JavaScript前端开发Go
Github 2024-08-12 开源项目周报 Top14
本周Github Trendings共有14个项目上榜,按开发语言汇总如下:Python项目7个,TypeScript项目5个,C项目2个,JavaScript项目2个,Go和Batchfile项目各1个。其中亮点包括开发者职业成长指南、Windows激活工具、ComfyUI图形界面、AFFiNE知识库、易采集可视化爬虫等项目,涵盖多种实用工具和开源平台。
5011
|
27天前
|
存储JavaScript前端开发
Github 2024-07-29 开源项目周报Top15
根据 Github Trendings 的统计,本周(2024年7月29日统计)共有15个项目上榜。按开发语言分类,项目数量如下:Python、Java、HTML 和 C 项目各有2项;TypeScript、JavaScript、Vue 和 Go 各有1项;另有1项非特定语言项目、1项 Dart 项目、1项 C++ 项目、1项 Rust 项目及1项 Jupyter Notebook 项目。这些项目涵盖了多种领域,如API开发、照片管理、PDF处理、AI技术等。
3711
|
27天前
|
RustJavaScript前端开发
Github 2024-07-15 开源项目周报 Top15
根据 Github Trendings 的统计,2024年7月15日当周共有15个项目上榜。以下是按开发语言分类的项目数量汇总:Python项目5个,非开发语言项目4个,JavaScript项目3个,TypeScript项目2个,Go、Solidity和Java项目各1个,Rust项目1个。此外,介绍了多个值得关注的项目,包括免费编程学习平台 freeCodeCamp.org、免费编程书籍和学习资源清单、免费 API 集合等,涵盖了不同编程语言和技术领域。
4011
|
27天前
|
人工智能JavaScriptAPI
Github 2024-07-08 开源项目周报 Top15
根据Github Trendings的统计,本周(2024年7月8日统计)共有15个项目上榜。按开发语言分类,Python项目最多,有6项;其次是C++和TypeScript,各有3项;Jupyter Notebook和JavaScript各2项;QML、非开发语言项目、Rust则各有1项。这些项目涵盖了多种领域,包括编程教育、API集合、语言模型、十六进制编辑器等。
3711
|
27天前
|
存储安全Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
2100
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
24天前
|
Docker容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
27天前
|
机器学习/深度学习RustJavaScript
Github 2024-06-24 开源项目周报 Top15
根据Github Trendings的统计,本周(2024年6月24日统计)共有15个项目上榜。按开发语言分类,项目数量如下:JavaScript项目5个,Python项目5个,TypeScript项目2个,Go项目2个,Dockerfile项目1个,C#项目1个,Java项目1个,Jupyter Notebook项目1个,Rust项目1个,Dart项目1个,Tcl项目1个。
3000