首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git add mysubmoduledir“不匹配任何文件”,尽管该子模块有新的提交

问题描述: 当执行命令"git add mysubmoduledir"时,出现"不匹配任何文件"的错误提示,尽管该子模块有新的提交。

回答: 这个问题通常是由于子模块的更改没有被正确地添加到父仓库中导致的。下面是解决该问题的步骤:

  1. 确保子模块的更改已经被提交到了子模块的仓库中。可以使用以下命令进入子模块目录并提交更改:
  2. 确保子模块的更改已经被提交到了子模块的仓库中。可以使用以下命令进入子模块目录并提交更改:
  3. 返回到父仓库的根目录,并执行以下命令来更新父仓库对子模块的引用:
  4. 返回到父仓库的根目录,并执行以下命令来更新父仓库对子模块的引用:
  5. 如果步骤2中的命令仍然提示"不匹配任何文件",则可能是由于.gitmodules文件中的子模块路径不正确导致的。可以通过编辑.gitmodules文件来修复路径。确保.gitmodules文件中的子模块路径与实际子模块目录的路径一致。
  6. 提交修复后的.gitmodules文件:
  7. 提交修复后的.gitmodules文件:
  8. 再次执行步骤2中的命令来更新父仓库对子模块的引用。

以上步骤应该能够解决"不匹配任何文件"的问题,并将子模块的更改正确地添加到父仓库中。

关于Git和子模块的更多信息,可以参考腾讯云的产品文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Git 中文参考(四)

如果与任何 URL 都不匹配,发生错误并且没有任何更改。 使用--push,操纵推送 URL 而不是获取 URL。 使用--add添加现有 URL,而是添加 URL。...如果子模块未初始化,则每个 SHA-1 可能以-为前缀,如果当前检出模块提交与包含存储库索引中找到 SHA-1 匹配,则+和U如果子模块合并冲突。...有关默认远程定义,请参阅 add 命令。...如果多次给出,则将累积模式列表,并且将排除匹配任何模式标签。与–match 结合使用时,如果标记与至少一个匹配模式匹配且与任何–exclude 模式匹配,则会考虑使用标记。...如果命令行上没有包含模式,则默认情况下使用与任何包含/排除模式匹配路径修补程序,如果存在任何包含模式,则忽略修补程序。

13610

Git中文命令大全

用户可检查是否给定文件被忽略, 不管是否已存在于工作树中 --no-warn-embedded-repo # 默认情况下, git add向嵌入式存储库添加索引时会发出警告,...可以使用任何过滤字符组合(包括无)当*(全部或无)添加到组合中时,如果有任何文件与比较中其他条件匹配,则选择所有路径; 如果没有与其他标准匹配文件,则不会选择任何内容 -S...# 当在命令行上给出文件时,命令将提交指定文件内容,而记录已经执行更改 【rest】 语法: git reset [-q] [] [--] …​...和git-merge --[no-]recurse-submodules[=yes|on-demand|no] # 选项控制是否应该提取和更新所有已填充子模块提交 与合并有关选项:...不要从远程站点获取对象。 --checkout # 选项仅对更新命令有效。检查子模块中分离HEAD上超级项目中记录提交

12500

Git系列之查看状态

换句话说,所有已跟踪文件在上次提交后都未被更改过。 此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪状态文件,否则 Git 会在这里列出来。...git add 命令使用文件或目录路径作为参数;如果参数是目录路径,命令将递归地跟踪目录下所有文件。 3、暂存已修改文件 现在我们来修改一个已被跟踪文件。...要暂存这次更新,需要运行 git add 命令。 这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪文件放到暂存区,还能用于合并时把冲突文件标记为已解决状态等。...星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)...所以有时候你一下暂存了所有更新过文件后,运行 git diff 后却什么也没有,就是这个原因。

1.3K10

Git 中文参考(二)

因此,在对工作树进行任何更改之后,在运行 commit 命令之前,必须使用add命令将文件或有改动文件添加到暂存区中。 在提交(commit)之前可以多次执行此命令。...子模块具有未跟踪文件,因为子模块修改内容或未跟踪文件无法通过超级项目中git add添加以准备提交。 m 和 ? 递归应用。例如,如果子模块嵌套子模块包含未跟踪文件,则报告为 ?...路径名与任何模式都不匹配所有文件都是最后输出,就好像文件末尾一个隐式匹配所有模式一样。如果多个路径名具有相同等级(它们匹配相同模式但没有早期模式),则它们相对于彼此输出顺序是正常顺序。...…​ 在命令行上提供文件时,命令将提交指定文件内容,而记录已暂存更改。这些文件内容也会在之前演出之上进行下一次提交。...因此: 警告:鼓励运行 git merge 并进行非平凡提交更改:尽管可能,但如果发生冲突,可能会使您处于难以退出状态。

10910

2.2 Git 基础 - 记录每次更新到仓库

换句话说,所有已跟踪文件在上次提交后都未被更改过。 此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪状态文件,否则 Git 会在这里列出来。...git add 命令使用文件或目录路径作为参数;如果参数是目录路径,命令将递归地跟踪目录下所有文件。 暂存已修改文件 现在我们来修改一个已被跟踪文件。...星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)...所以有时候你一下暂存了所有更新过文件后,运行 git diff 后却什么也没有,就是这个原因。...比方说: $ git rm log/\*.log 注意到星号 * 之前反斜杠 \, 因为 Git 它自己文件模式扩展匹配方式,所以我们不用 shell 来帮忙展开。

61810

Git 中文参考(一)

GIT_OPTIONAL_LOCKS 如果设置为0,Git 将完成任何请求操作,而执行任何需要锁定可选操作。例如,这将阻止git status刷新索引作为副作用。...--add更改任何现有值情况下向选项添加行。这与在--replace-all中以 ^ $ 作为 value_regex 值相同。...要添加代理,而更改任何现有代理,请使用 % git config --add core.gitproxy '"proxy-command" for example.com' 在脚本中使用配置中自定义颜色示例...如果值为 check,然后 Git 将验证在要推送修订版本中更改所有子模块提交在子模块至少一个远程处可用。如果缺少任何提交,则推送将中止并以非零状态退出。...当多个 pushInsteadOf 字符串与给定 URL 匹配时,将使用最长匹配。如果一个遥控器一个明确 pushurl,Git 将忽略遥控器这个设置。

18820

Git 中文参考(五)

-v --invert-match 选择匹配行。 -h -H 默认情况下,命令显示每个匹配文件名。 -h选项用于抑制此输出。...如果工作树和远程存储库索引与当前检出提交任何差异,则默认拒绝这样推送;当工作树和索引都与当前提交匹配时,它们会更新以匹配推送分支提示。此挂钩用于覆盖默认行为。...更高级别的 Git 工具,例如 git status 和 git add ,使用上面指定来源模式。 模式格式 空行匹配任何文件,因此它可以作为可读性分隔符。 以#开头行作为注释。...或者,您可以使用,而不是预先运行 git add $ git commit -a 它会自动注意任何修改过(但不是文件,将它们添加到索引中,然后一步一步地提交。...Git add命令执行更简单和更强大功能: git add 用于修改文​​件和修改文​​件,在这两种情况下,它都会获取给定文件快照,并在索引中显示内容,准备好包含在下一次提交中。

11510

Git 中文参考(三)

路径名与任何模式都不匹配所有文件都是最后输出,就好像文件末尾一个隐式匹配所有模式一样。如果多个路径名具有相同等级(它们匹配相同模式但没有早期模式),则它们相对于彼此输出顺序是正常顺序。...当超级项目检索到更新子模块对尚未在本地子模块克隆中提交引用提交时,使用 _ 按需 _ 仅递归到填充模块。 -j --jobs= 用于获取子模块并行节点数。...例如,上游在超级项目的刚刚提取提交中添加了一个模块,子模块本身无法获取,因此无法在以后检查模块而无需再次进行提取。预计将在未来 Git 版本中修复。...警告:在旧版本 Git 中,鼓励使用未提交更改运行 git pull :尽管或许可行,但它可能会使您处于难以退出冲突状态 如果任何远程更改与本地未提交更改重叠,则将自动取消合并并且不更改工作树...例如,当上游在超级项目的刚刚提取提交中添加了一个模块,子模块本身无法获取,因此无法在以后检查模块而无需再次进行提取。这预计将在未来 Git 版本中被修复。

13810

Git 总结

回退 git reset # 回退到某commit, 仅回退commit信息,不会改变工作区任何文件(非常快,因为其实没有任何文件改变) # 如果你改动没有 push 到远程,可以通过此方式,将直接改变...情景1: 拥有对子模块远程仓库权限,直接修改子模块路径中文件 本地开发调试子模块结束后, 进入子模块路径 add, commit, push, 然后主项目 git add模块路径,git commit...这时会发现 new commits, git add 即可 情景2: 子模块对应远程仓库更新,本地子模块内容过时 本地进入子模块路径,git pull 子模块更新,然后返回主项目根目录, git...更新 如果在本地修改仓库,在主仓库 git status会显示仓库修改。 需要先在仓库提交,然后再到主仓库提交代码。...不能提交 解决方法: 查看git 设置 git config --get core.ignorecase 发现默认是区分大小,因此当你修改了文件名 (或文件夹名) 大小写后,git并不会认为你修改

1K40

Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习

它在现有目录中添加一个隐藏文件夹,所以这里我们需要按下面操作使其显现,文件夹包含版本控制所需内部数据结构。...git commit 将快照保存到项目历史记录中并完成更改跟踪过程。 简言之,提交就像拍照一样。 任何使用 git add 暂存内容都将成为使用 git commit 快照一部分。...这些是暂存(用 git add 添加)和提交(用 git commit 提交)到主仓库文件和目录。...表示忽略(跟踪)匹配文件或目录; 示例 解释 # 此为注释 表示注释, 将被忽略 或/ *代表所有,即忽略.gitignore所在根目录下所有文件 *.html 忽略所有后缀名为.html文件...js 忽略所有后缀名为.js文件 Note:git 对于 .gitignore 配置文件时是按行从上到下进行规则匹配,即如果上面的配置范围较大时,下面的配置可能无效 下面为可能无效原因:

1.5K10

Git Pro深入浅出(二)

# 从栈上删除储藏 $ git stash drop stash@{2} # 应用后立即删除 $ git stash pop (1)创造性储藏 储藏任何你通过 git add 命令已暂存东西...如果你正在做工作,要么提交到一个临时分支要么储藏它。这使你可以撤消在这里尝试做任何事情。...提交 ^M 与 C6 完全一样内容,所以从这儿开始就像合并从未发生过,除了“现在还没合并”提交依然在 HEAD 历史中。...(5)在子模块与主项目中同时做修改 到目前为止,当我们运行 git submodule update从子模块仓库中抓取修改时,Git将会获得这些改动并更新子目录中文件,但是会将仓库留在一个称作“...checkout -b featureA' (7)子模块问题 问题一:在有子模块项目中切换分支可能会造成麻烦 如果你创建一个分支,在其中添加一个子模块,之后切换到没有模块分支上时,

1.1K31

Git常用命令参考手册

# 这一步可选,如果你真的想创建一个没有任何文件分支 git add -A && git commit -m "提交" # 添加并提交,否则分支是隐藏 (执行这一步之前需要注意当前工作区必须保留一个文件...2、编辑目录下 .gitmodules 文件把需要删除模块删除掉 # 最后直接推送 git add -A git commit -m "删除子模块" git push 克隆一个包含子模块仓库...git subtree 劣势: 命令过于复杂, 推送拉取都很麻烦 虽然用于替代子模块, 但使用率并没有子模块广泛 仓库和主仓库混合在一起, 历史记录相当于2个仓库记录 git subtree 命令用法...main --squash 推送到仓库 假如修改了仓库里内容,可以将修改这部分内容推送到仓库中 # 需要先在主仓库把子仓库代码暂存 git add sub/common git commit...描述 feat 提交含有特性 style 通常是代码格式修改 chore 构建过程或辅助工具变动 fix 修复Bug docs 文档修改 test 单元测试改动 refactor 代码重构

1.3K60

发布 Go Modules

= want { t.Errorf("Proverb() = %q, want %q", got, want) } } $ 接下来,创建一个 git 存储仓库并添加一个初始提交...普通版本比预发布版本更受 go 命令青睐,但是如果您模块任何普通版本,用户要想获得您预发布版本必须明确指定版本(例如,gogetexample.com/hello@v1.0.1-alpha)。...伪版本是预发布版本一种特殊类型。当用户需要依赖于尚未发布任何语义版本标记项目,或者需要针对尚未标记提交进行开发时,伪版本非常有用,但用户不应假定伪版本提供了稳定或经过良好测试 API。...标记一个新版本几个步骤: 1.运行 go mod tidy 命令,这将消除模块可能积累不再需要任何依赖项 2.跑去单元测试 go test ./..,以确保一切正常 3....v1 主要版本告诉用户,不会对模块 API 进行兼容更改。它们可以升级到 v1 次要版本和补丁版本,它们代码不会出现兼容错误。函数和方法签名不会更改,导出类型不会被移除,等等。

71810

Python 进阶指南(编程轻松进阶):十二、使用 Git 组织您代码项目

在这一章中,我们将为一个名为wizcoin模块创建一个仓库协议,模块处理虚拟巫师货币帆船、镰刀和克努特硬币。cookiecutter模块使用模板为几种不同类型项目创建启动文件。...git status输出也有 Git 命令提醒,这些命令将文件转移到其他状态。 为什么要暂存文件? 您可能想知道阶段状态什么意义。为什么直接在修改提交之间切换,而不升级文件呢?...要添加每个未跟踪文件,使用一个点号(.)告诉 Git 匹配所有文件: C:\Users\Al\wizcoin>git add ....回滚一个更改实际上添加了一个更改,更改将文件内容设置为前一次提交状态。...运行git revert -n HEAD~3..HEAD来撤销这些更改,然后运行git add .和git commit -m " "来提交内容,就像您处理任何其他更改一样

1.2K30

Git必备命令-子模块

开始使用子模块 我们首先将一个已存在 Git 仓库添加为正在工作仓库模块。你可以通过在 git submodule add 命令后面加上想要跟踪项目的相对或绝对 URL 来添加模块。...当你在克隆这样项目时,默认会包含模块目录,但其中还没有任何文件: $ git clone https://github.com/chaconinc/MainProject Cloning into...但是在仓库中保留跟踪信息更有意义一些,因为其他人也可以得到同样效果。这时我们运行 git status,Git 会显示子模块中有“提交”。...add" and/or "git commit -a") 从项目远端拉取上游更改 现在,让我们站在协作者视角,他自己 MainProject 仓库本地克隆, 只是执行 git pull 获取你提交更改还不够...然而,它不会 更新 子模块。这点可通过 git status 命令看到,它会显示子模块“已修改”,且“提交”。

95820

Git 最全教程

比如 README $ git add README 忽略文件 我们有些文件无需纳入 Git 管理,也希望它们总出现在未跟踪文件列表。...星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)...lib.a # 只忽略当前目录下 TODO 文件,而忽略 subdir/TODO /TODO # 忽略任何目录下名为 build 文件夹 build/ # 忽略 doc/notes.txt,但不忽略...跳过使用暂存区域 尽管使用暂存区域方式可以精心准备要提交细节,但有时候这么做略显繁琐。...比如: $ git rm log/\*.log 注意到星号 * 之前反斜杠 \, 因为 Git 它自己文件模式扩展匹配方式,所以我们不用 shell 来帮忙展开。

1.3K10

6 个最佳 Git 仓库管理实践

如果它是二进制文件,那它是由什么生成。是否充分理由不在构建时生成它们,而是将它们提交到仓库?...必须谨慎对其更新,因为你每提交一个二进制大文件变化,它存储空间实际上都会加倍。 让第三方库留在第三方 第三方库也例外。...从技术上讲,对库信心的人只对主副本有把握,而不是对随机仓库副本有把握。如果你需要锁定特定版本库,请给开发者提供一个合理项目所需发布 URL,或者使用 Git模块。...抵制盲目的 git add image.png 如果你项目已编译,请抵制住使用 git add . 冲动(其中 . 是当前目录或特定文件路径),因为这是一种添加任何新东西简单方法。...用 IDE 管理项目时,跟踪添加到仓库中内容会非常困难,因此仅添加你实际编写内容非常重要,而不是添加项目文件夹中出现任何对象。 如果你使用了 git add .

58420

Git 中文参考(六)

路径名与任何模式都不匹配所有文件都是最后输出,就好像文件末尾一个隐式匹配所有模式一样。如果多个路径名具有相同等级(它们匹配相同模式但没有早期模式),则它们相对于彼此输出顺序是正常顺序。...使用“none”时,如果子模块包含未跟踪或修改文件,或者其 HEAD 与超级项目中记录提交不同,则可以使用“无”来修改子模块,并可用于覆盖中 ignore 选项任何设置 git-config [1...命令三个参数,(a)要反对原始树,(b)树结果,(c)目标 Subversion 存储库 URL。...如果至少进行一次“修复”文件匹配标记内容提交,则无法在 Git 中导入这些标记。...悬挂提交可以是根节点。 hash mismatch 数据库一个对象,其哈希值与对象数据库值匹配。这表明存在严重数据完整性问题。

17610
领券