首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过通配符将某些文件添加到git中,而不添加与子目录中的parrern匹配的文件?

如何通过通配符将某些文件添加到git中,而不添加与子目录中的parrern匹配的文件?
EN

Stack Overflow用户
提问于 2022-01-01 00:48:38
回答 1查看 29关注 0票数 0

我使用git (在Windows上)对某些目录中的文件进行版本控制,在另一些目录中使用源代码控制。在某些目录中,我希望通过通配符添加某些文件,但不添加子目录中的文件,除非我指定了该子目录或该目录中的特定文件。

我无法通过资源管理器完成这一任务,因为它是几十个或数百个文件,我可能无法准确地选择我要寻找的文件(比如?e?g*.*),但其他文件却无法选择,所以我使用命令行(我已经使用git集成--因此,如果它只是特定的文件,我可以选择它们,然后右击并单击"git add",但是如果我必须手动选择文件,这是不可行的;因此我使用命令行和通配符选择)。

我不想使用.gitignore,因为可能有一些子目录,我想要一些文件,而不是其他,这可能意味着必须列出数百或数千个文件。而且,我使用的是多个回购程序,创建另一个.gitignore将非常繁琐,并且可能需要添加几十个或数百个子目录。我试过了

git ./A* /.a*

仅在该目录中添加以a或a开头的文件,但它将查找该目录中以A或a开头的每个文件和所有子目录。我只想用一种简单的方式说“只在这个目录中添加某些文件,没有子目录”,它可以在任何目录中工作,而不必在我想要恢复的每个目录/项目中设置、修改或维护一个.gitignore文件。

我是说,这是正常行为吗?当您指定* git时,假定这个目录和下面的所有内容?这看起来既荒谬又过分。从什么时候开始,命令会自动作用于子目录?这是Linux的东西吗?如果我用

rm a*

它会递归地搜索每个目录吗?我认为您必须使用开关(-s)对子目录进行操作。应该有一个简单的方法来说明这一点,但我在Git的文档中找不到它。

EN

回答 1

Stack Overflow用户

发布于 2022-01-01 08:46:01

您可以观察预期的行为:

如果您有一个名为dir的目录,则d*glob模式将在其扩展中包括dir,而git add dir将在dir下添加所有文件。

仅列出文件的一种方法是使用一个实用工具,它允许列出具有特定筛选器的名称,如GNU find

代码语言:javascript
运行
AI代码解释
复制
find . -name 'A*' -type f -depth 1

将列出:

  • -type f文件only
  • -name A*,其名称仅以当前目录级别的A
  • -depth 1开头

然后可以使用xargs将其输出提供给git add

代码语言:javascript
运行
AI代码解释
复制
find . -name 'A*' -type f -depth 1 | xargs git add

注意:如果您正在运行窗口,取决于您使用的shell,find可能会引用find windows utility,它不会执行相同的操作。

选择一种使用GNU find的方法--例如:使用git-bash或WSL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70547803

复制
相关文章
Git与通过Git添加提交文件
HTML5学堂-利利:前面几个礼拜,我们比较全面的介绍讲解了关于AJAX中相对比较高级的知识 - 跨域。本周周三的文章,想为大家介绍一款工具——Git。如果开发者们有进入大公司的发展的想法,这种工具是必不可少的。相信我们做开发的朋友们,SVN必然会接触,对于大公司来说,SVN略low,它们使用的通常是Git —— 分布式版本控制系统。 今日内容: 1 Git是什么 2 Git(分布式)与SVN(集中式)的区别 3 Git的安装与环境配置 4 在Git中进行版本创建 Git是什么? Git:分布式版本控制系统
HTML5学堂
2018/03/13
1.3K0
Git与通过Git添加提交文件
git提交如何忽略某些文件
在使用git对项目进行版本管理的时候,我们总有一些不需要提交到版本库里的文件和文件夹,这个时候我们就需要让git自动忽略掉一下文件。 使用.gitignore忽略文件 为了让git忽略指定的文件和文件
用户1741436
2018/05/16
15.4K0
如何手动将消息添加到Linux系统日志文件
日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定日期或特定时间发生的情况。管理员通常将日志文件用于故障排除。日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。这是logger命令派上用场的地方。
用户6543014
2020/02/21
2.3K0
如何使用ReconAIzer将OpenAI添加到Burp中
ReconAIzer是一款功能强大的Burp Suite扩展,该工具基于Jython开发,可以为Burp Stuite添加OpenAI能力,并利用OpenAI来优化和增强渗透测试过程中的网络侦查任务。该工具专为漏洞猎人和渗透测试人员设计,支持以自动化的形式执行多种网络安全任务,可以帮助广大安全研究人员以简单快速的形式识别和利用漏洞。
FB客服
2023/08/08
3220
如何使用ReconAIzer将OpenAI添加到Burp中
Git_学习_09_指定某些文件不上传
注:git add 命令会将文件加入暂存区,git commit 会将暂存区中文件提交到git本地仓库,git push 会将本地仓库中新添加的文件上传到远程分支仓库。
shirayner
2018/09/20
1.4K0
Git diff 忽略某些文件
我们在使用git diff时总是希望忽略一些文件, 比如一些非代码的改动我们希望看到的是no diff的。下面将简单介绍下如果配置某些文件在git diff时被忽略。
张凝可
2019/08/22
1.7K0
hibenate中log4j.properties文件添加到eclipse中
Hibernate用log4j包来做日志输出,这就要求项目中创建一个log4j的配置文件log4j.properties,否则有些运行日志就无法看到(不会影响程序运行),另外Eclipse控制台视图会输出如下两条警告信息。 log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig). log4j:WARN Please initialize the log4j system properl
闵开慧
2018/03/30
8100
Java将内容追加/添加到现有文件
如果您希望代码创建一个新文件并删除以前的现有文件,则FileWriter可以轻松代替它。要替换现有文件中的所有内容,请使用以下命令:
用户7886150
2021/04/28
3.1K0
如何删除 git 仓库中的 .idea 文件?
有时候新创建应用还没有添加 .gitignore 文件或者 .gitignore 内容设置的不正确,就导致 .idea 文件目录上传到了仓库(也可能是其他文件)。
程序员小航
2022/06/09
5.1K0
如何删除 git 仓库中的 .idea 文件?
使用python遍历子目录中的文件
这话真不是随便说的。在做的一个项目中,需要遍历子目录,并将文件保存到列表中,通过Python,几行代码就能实现。
fanzhh
2019/08/20
5.3K0
通过HHDESK,将windows中的文件转移至Linux系统中
跨系统转移文件一直来说,是一件繁琐的事情,而HHDESK的新功能SMB连接,让这件事情变得简单而方便。
恒辉信达技术有限公司
2023/03/17
9240
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
EasyNVR已经支持自定义上传音频文件,可以做慢直播场景使用,前两天有一个开发者提出一个问题:想把一个MV中的音频拿出来放到EasyNVR中去做慢直播。
EasyNVR
2021/10/28
4.2K0
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
git如何添加文件到最新的提交
有时候,在git commit后,我们会发现一些文件忘了提交了,或者需要修改,而且这些提交和修改是与上一次commit的主题一致的,这时候再执行一遍相同的git commit就会让提交记录显得比较冗余,有没有办法将修改后的文件加到最后一次的提交记录里面呢?搜索后发现这里给了一个解决办法,git add文件后调用git commit --amend -no-edit即可:
王云峰
2023/10/23
2490
NXP的S32K144如何将静态库文件添加到 S32DS工程中?
我们经常使用静态库或者动态库,那么在NXP的s32k144使用中,如何将静态库文件 (*.a) 添加到 S32 Design Studio GCC 项目中呢?
李肖遥
2022/09/10
5.2K0
NXP的S32K144如何将静态库文件添加到 S32DS工程中?
Git提交时过滤某些文件
4.这个文件处理好以后,如果感觉没有作用,说明你在创建这个文件之前就已经add过了,这时执行
Arno
2019/12/06
2.9K0
Git提交时过滤某些文件
如何使用 Git 添加所有文件?
Git 是一款强大的版本控制系统,能够有效地管理项目的代码和文件。在使用 Git 进行版本控制时,将文件添加到 Git 仓库是一个重要的步骤。本文将详细介绍如何使用 Git 添加所有文件,以便您可以轻松地将项目中的所有文件纳入版本控制。
网络技术联盟站
2023/06/18
1.3K0
如何使用 Git 添加所有文件?
conda创建虚拟环境后文件夹中只有conda-meta文件夹,无法将环境添加到IDE中
因为之前也创建过好几次了,在命令行中也没有报任何错误,于是准备将刚配置的test虚拟环境添加到pycharm解释器中,但是发现在test环境中根本找不到除conda-meta外的其他任何文件,通过下图来比较一下正常的虚拟环境和test虚拟环境的差别,如下图所示
汀丶人工智能
2022/12/21
3K0
conda创建虚拟环境后文件夹中只有conda-meta文件夹,无法将环境添加到IDE中
.env[mode]文件中如何添加注释
Vue-Cli 允许我们在项目根目录创建.env.[mode]文件来设置一些打包编译的启动参数,通过执行脚本的时候加mode参数,指定不同环境需要加载的配置文件
甜点cc
2022/10/05
2.2K0
.env[mode]文件中如何添加注释
点击加载更多

相似问题

如何在git中不添加某些文件

22

如何删除与通配符不匹配的文件?

48

对于某些文件,Git忽略使用通配符添加

12

如何使用git跟踪子目录中的某些文件,而不是所有其他文件?

10

Git:忽略文件,而不忽略目录中的子目录。

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文