[Feature Request] Support for sharing root-level files across repositories
- From
- George Ogden <george.ogden.human@gmail.com>
- Date
- Sep 26, 2025, 08:33 UTC
- Message-ID
- <CAJ5EAUw_VN4GXiHYJq0et8oZN0L+AHZz+ROLtK3Hxdp3SEL3=g@mail.gmail.com>
Hello Git developers,
Firstly, apologies if this has already been discussed or if there is a way to solve this problem that I am not aware of.
Motivation
Git submodules are very useful for sharing directories between repositories. However, in some workflows, there is a need to share a single file that must live in the repository root.
A concrete example is .pre-commit-config.yaml. I maintain a standard template across many repositories. When I add a new hook or update a version, I have to manually update the file in each repository. I could use a submodule for this, but submodules always appear in a subdirectory — not at the root where tools expect this file.
The same issue arises with other configuration files that need to reside at the top level of a project (linters, CI configs, licenses, etc.).
Proposal
It would be helpful if Git provided a way to share a file across repositories so that it appears at the root of the working tree, without requiring a separate build step, symlink, or copy operation.
I understand there are alternative approaches (subtrees, packages, external tooling), but they all involve extra indirection. Having first-class support within Git for this use case would make it much simpler and more consistent.
Thanks
Thank you for your work maintaining and evolving Git! I would greatly appreciate any feedback on whether this idea has been considered before, and if there are technical reasons it may not fit Git’s model.
Best regards, George Ogden