如何添加一个“;符号链接“;到git,它跟随链接到引用内容,还是更改git的行为以跟随符号链接?

如何添加一个“;符号链接“;到git,它跟随链接到引用内容,还是更改git的行为以跟随符号链接?,git,symlink,Git,Symlink,我有一个私有的git repo,它类似于dotfiles repo,我用来跟踪我的服务器和机器上的shell历史。我这样做是为了有一个永久的shell咒语记录,当我遇到这样一种情况时,我模糊地记得知道如何做某事,但不记得具体的命令,我可以引用它 在过去的几年里,我一直在手动将shell历史文件复制到我的这个存储库中,但我最近意识到应该有一种更简单的方法来实现这一点。我通常很擅长在退役之前记住保护历史不受环境影响,但这个过程的重复性已经变得有点刺耳了 主要的限制是。如果您签入符号链接,Git只需记

我有一个私有的git repo,它类似于dotfiles repo,我用来跟踪我的服务器和机器上的shell历史。我这样做是为了有一个永久的shell咒语记录,当我遇到这样一种情况时,我模糊地记得知道如何做某事,但不记得具体的命令,我可以引用它

在过去的几年里,我一直在手动将shell历史文件复制到我的这个存储库中,但我最近意识到应该有一种更简单的方法来实现这一点。我通常很擅长在退役之前记住保护历史不受环境影响,但这个过程的重复性已经变得有点刺耳了

主要的限制是。如果您签入符号链接,Git只需记录符号链接的目标位置。我想做的是,从概念上说,设置它,使它跟随链接:这样,我可以在多台机器上简单地设置我的shell历史记录,签入到我的shell历史记录文件的“链接”,然后我希望能够在那里简单地运行
git diff
,从那时起查看并提交任何新的更改,无需再次手动输入文件关联

如果没有一个简单的方法可以做到这一点,我在想也许git钩子可以帮上忙,但我真的不知道有任何客户端钩子可以在尝试提交之前运行


我还想提到一个有趣的行为,在windows上使用Git时,据我所知,它确实将符号链接视为副本。所以这应该是在windows上开箱即用的。问题是如何在每次回购的基础上欺骗Linux/macOS来做到这一点

只需将符号链接到另一种方式即可。将您的
~/.bash\u历史记录
链接到git文件

ln -s repo/bash_history ~/.bash_history
我有一个脚本将我所有的点文件链接到一个系统

只需以另一种方式进行符号链接即可。将您的
~/.bash\u历史记录
链接到git文件
ln-s repo/bash_history~/.bash_history
@rel谢谢!我想你是对的。这应该是一个可行的解决办法!我在读另一个SO问题,有人提出了同样的建议!请把它写在一个答案里,我会接受的!美好的事实上,我已经用我所有的其他点文件做了这个。这让人觉得有点“风险”,因为现在你的点文件依赖于git回购协议保持在同一个位置。但这真的不坏。另请参见相关讨论:)