提交时忽略子模块脏状态

发布于 2024-12-17 03:25:22 字数 164 浏览 1 评论 0原文

我有一个带有子模块的存储库。对我来说,这个子模块是只读的,所以我使用 submodule.Module.ignore=dirty。

这对于“git status”来说效果很好,但是当我提交时,整个子模块都会被扫描,并且在 git 的注释中我可以看到它是脏的。

有办法避免这种情况吗?

I have a repository with a submodule. For me, this submodule is read-only, so I'm using submodule.Module.ignore=dirty.

This works fine for 'git status', but when I commit, the whole submodule is scanned and in git's comments I can see that it's dirty.

Is there a way to avoid this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤云独去闲 2024-12-24 03:25:22

如果您真的不想看到子模块的更改,您可以使用 '*' 模式在子模块内的 .git/info/exclude 添加一行。

这将导致子模块始终将其自身报告为干净,无论发生了什么变化。

echo "*" >> path/to/submodule/.git/info/exclude

If you really never want to see changes to the submodule, you can add a line to .git/info/exclude inside the submodule with a '*' pattern.

This will result in the submodule always reporting itself as clean, regardless of what has changed.

echo "*" >> path/to/submodule/.git/info/exclude
高速公鹿 2024-12-24 03:25:22

在提交 8f6811efed5451c72aa 中解决了上游问题

Solved upstream in commit 8f6811efed5451c72aa

南七夏 2024-12-24 03:25:22

您可能想要编辑 .git/info/exclude 文件,以添加要忽略的模式。但对于子模块来说,这是行不通的。相反,您应该从 Git 存储库的根目录编辑 .git/submodule_foo/info/exclude

这是因为,在较新版本的 Git 中,路径 submodule_foo/.git 是一个文件,而不是目录。它的内容让我们知道子模块的 .git 文件在哪里:

gitdir: ../.git/modules/submodule_foo

You probably want to edit the .git/info/exclude file, to add a pattern to be ignored. But for a submodule, this won't work. Instead, you should edit .git/submodule_foo/info/exclude, from the root of the Git repo.

This is because, in newer versions of Git, the path submodule_foo/.git is a file, not a directory. Its contents lets us know where the .git files for the submodule are:

gitdir: ../.git/modules/submodule_foo
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文