如何将 "symlink" 添加到 link 之后的 git 以引用内容,或更改 git 的行为以遵循 symlinks?
How to add a "symlink" to git which follows the link to reference content, or change the behavior of git to follow symlinks?
我有一个私人 git 存储库,它类似于我用来跟踪 shell 我的服务器和计算机历史记录的 dotfiles 存储库。我这样做是为了永久记录 shell 咒语,当我遇到我隐约记得知道如何做某事但不记得具体命令的情况时,我可以回顾这些咒语。
在过去的几年里,我一直在手动将 shell 历史文件复制到我的这个存储库中,但最近我意识到应该有一种更简单的方法来完成这项工作。我通常很擅长记住在退役之前从环境中保存历史记录,但过程的重复性已经变得有点刺耳了。
主要限制是symlinks are not followed by git。 Git 将简单地记录一个 symlink 的目标位置,如果您签入一个 symlink。我想做的,从概念上讲,将其设置为遵循 link:这样,我可以简单地在多台机器上设置我的 shell 历史记录,检查 "link" 到我的 shell 历史文件,然后我希望能够简单地 运行 git diff
在那里查看并提交从那时起的任何新更改,而不必再次手动输入文件关联。
如果没有简单的方法来做到这一点,我想 git 挂钩可能会有所帮助,但我真的不知道有任何客户端挂钩可以 运行尝试提交...
我还想提一个有趣的行为,据我所知,windows 上的 Git 实际上确实将 symlinks 视为副本。所以这应该在 windows 上开箱即用。问题是如何在每个回购的基础上欺骗 Linux/macOS 来做到这一点。
只需将 symlink 转换成另一种方式即可。 Link 您的 ~/.bash_history
到您的 git 文件。
ln -s repo/bash_history ~/.bash_history
我有一个脚本 link 我所有的点文件到系统
https://github.com/utix/dotfiles/blob/master/%2Bbin/doconf
我有一个私人 git 存储库,它类似于我用来跟踪 shell 我的服务器和计算机历史记录的 dotfiles 存储库。我这样做是为了永久记录 shell 咒语,当我遇到我隐约记得知道如何做某事但不记得具体命令的情况时,我可以回顾这些咒语。
在过去的几年里,我一直在手动将 shell 历史文件复制到我的这个存储库中,但最近我意识到应该有一种更简单的方法来完成这项工作。我通常很擅长记住在退役之前从环境中保存历史记录,但过程的重复性已经变得有点刺耳了。
主要限制是symlinks are not followed by git。 Git 将简单地记录一个 symlink 的目标位置,如果您签入一个 symlink。我想做的,从概念上讲,将其设置为遵循 link:这样,我可以简单地在多台机器上设置我的 shell 历史记录,检查 "link" 到我的 shell 历史文件,然后我希望能够简单地 运行 git diff
在那里查看并提交从那时起的任何新更改,而不必再次手动输入文件关联。
如果没有简单的方法来做到这一点,我想 git 挂钩可能会有所帮助,但我真的不知道有任何客户端挂钩可以 运行尝试提交...
我还想提一个有趣的行为,据我所知,windows 上的 Git 实际上确实将 symlinks 视为副本。所以这应该在 windows 上开箱即用。问题是如何在每个回购的基础上欺骗 Linux/macOS 来做到这一点。
只需将 symlink 转换成另一种方式即可。 Link 您的 ~/.bash_history
到您的 git 文件。
ln -s repo/bash_history ~/.bash_history
我有一个脚本 link 我所有的点文件到系统 https://github.com/utix/dotfiles/blob/master/%2Bbin/doconf