如何让 git push 软链接?

2021-08-27 11:06:47 +08:00
 liukanglai

需要: 我想要创建一个 git 仓库, 里面全是需要备份的文件夹, 不想复制粘贴... linux 不支持硬链接目录, 软链接无法 push 文件... 各位有什么好的解决办法吗?

4313 次点击
所在节点    问与答
15 条回复
QingStone
2021-08-27 11:09:13 +08:00
不要用 git 管理二进制文件
liukanglai
2021-08-27 11:10:19 +08:00
只是些配置文件,还有 mark down 文件
AoEiuV020
2021-08-27 11:20:58 +08:00
听这意思,是比如 /gitrepo/bak/etc/nginx 目录软链接指向 /etc/nginx,然后提交希望提交的是 /etc/nginx 中的真实文件而不是软链接?

感觉你这需要的是 mount --bind, 而不是软链接,
liukanglai
2021-08-27 11:25:04 +08:00
@AoEiuV020 感谢,我去查查
sutra
2021-08-27 11:25:30 +08:00
我是反过来的,repo 的位置存着文件,用的地方软链接到它。有些不支持软链接的,则复制过去的,写了脚本来对比 repo 和实际文件。
Reficul
2021-08-27 11:45:09 +08:00
写个 git hook
liukanglai
2021-08-27 12:22:19 +08:00
@AoEiuV020 可以挂载成功,但是一关机就不行了啊,可惜
liukanglai
2021-08-27 12:25:23 +08:00
@AoEiuV020 就是有点烦,希望有更好的办法吧
AoEiuV020
2021-08-27 12:28:20 +08:00
@liukanglai /etc/fstab 自动挂载,
liukanglai
2021-08-27 12:50:46 +08:00
@Reficul
@AoEiuV020 成功搞定,两种方法都可行。而 hook 貌似极其强大,或可 push 前自动拉取文件,还可 clone 仓库时自动分发文件到指定目录!!!
netwjx
2021-08-27 16:13:54 +08:00
git 有个专门管理大二进制文件的方案

Git LFS ( Large File Storage )
hsfzxjy
2021-08-27 18:17:18 +08:00
楼上怎么有人说二进制和大文件呢,楼主明明不是这个问题
sunbreak
2021-08-29 08:37:13 +08:00
如果需求不是很复杂,普通文件的软连接是可以直接 push 的

Flutter 跨端程序,很多 iOS/macOS 实现相同,都直接引用 common 的文件
- common: https://github.com/Sunbreak/cronet_flutter/tree/master/common
- iOS: https://github.com/Sunbreak/cronet_flutter/tree/master/ios/Classes
- macOS: https://github.com/Sunbreak/cronet_flutter/tree/master/macos/Classes
liukanglai
2021-08-29 11:00:50 +08:00
@sunbreak 不清楚,我的软链接没有 push 成功。。。
dingwen07
2021-08-29 14:03:03 +08:00
git submodule 逃(

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX