使用某种 link 将文件推送到不直接在 repo 中的 git

Pushing file to git that is not directly in repo with some sort of link

我不太确定这个功能叫什么,所以我只是描述一下,也许有人能告诉我怎么做。

我有一个名为 mySettings 的 git 存储库,我在其中存储了各种编辑器(如 Sublime)的设置。

目前我正在我的本地系统和那个仓库之间手动复制文件,然后将它们推送到仓库。

我理想中想要的是在我的本地文件和存储库之间有某种 link,这样每次我 运行 说 git add . --all && git commit -m 'updated local files' && git push 它都会自动提取我所有的本地文件我已经 link 编辑到那个 repo。

一个例子:

在我的本地系统上说我有 ~/FancyEditor/User/superbSettings 并且我有我喜欢的回购 ~/mySettings/ 那么如果我要 运行 上面的 git add . --all && git commit -m 'updated local files' && git push~/mySettings 然后它有某种形式的 link 到 ~/FancyEditor/User/superbSettings,这样我就不用每次想备份它时都必须将它复制到那个 repo。

最好的方法之一是使用符号链接。但目前 git 不支持将符号链接文件用作普通文件,请参阅:How does git handle symbolic links?.

所以最好的方法是使用 git 钩子。只需创建一个挂钩来执行命令,将所需文件的内容复制到存储库文件夹中,替换现有文件。请参阅 git 挂钩手册:https://git-scm.com/book/uz/v2/Customizing-Git-Git-Hooks

示例命令:

cp -rf ~/FancyEditor/User/superbSettings ~/mySettings

也看到这个:Run script before commit and include the update in this commit?