Manage files in one place and distribute them using gt
gt -- g(it)t(ools) -- is a bash based tool to pull files from git repositories including an automatic file integrity check via GPG. It is licensed under the European Union Public Licence EUPL-1.2.
Maybe you are in the same situation as we were (well... still a bit are). Many files in projects are duplicated across a lot of repositories. Starting from license files, CODE_OF_CONDUCT.md over to configuration files (such as .editorconfig), to workflow files and scripts. Some of them you might never touch again (at least you think so right now) others you're changing once a year (such as a year bump) and for some you are pretty sure that you will change things frequently.
In all those situations it makes sense to maintain those files at one place, i.e. in one repository and distribute them somehow. gt is a bit like a light weight package manager, without dependency management but with a strong sense for file integrity. You can gt remote add
any git repository and gt pull
one or multiple files from it into yours. Whether you commit those files or put them onto your .gitignore-list and let co-contributor gt re-pull
them is up to you.
gt update
lets you update already pulled files to the latest or a particular version. A corresponding GitHub workflow (which you get via gt
of course) looks out for updates periodically and creates a corresponding pull request.
We hope gt will simplify the distribution of your files as well and we are looking forward to any feedback from you.