gpt4 book ai didi

git - 告诉 git 忽略符号链接(symbolic link)

转载 作者:IT王子 更新时间:2023-10-29 00:46:37 25 4
gpt4 key购买 nike

这个问题以类似的形式出现过herehere ,但它们似乎与我要查找的内容不匹配。

我正在用 Ruby 静态站点生成器 StaticMatic 创建一个项目。基本上,它只是一个带有 Haml 模板、Sass 和 CoffeeScript 的 src/目录。 StaticMatic 提供了一个开发服务器来将它们编译成静态站点,以及一个在 build/中生成静态站点的构建命令。

我对 StaticMatic 的修改是允许添加 src/_modules/foo/,其中可能包含 src/_modules/foo/bar.haml。当运行服务器或构建站点时,将在 src/bar.haml 中创建一个指向 foo/中文件的符号链接(symbolic link)。

到目前为止一切顺利。 (处理冲突等)

在 _modules/中单独目录背后的原因是它们可以作为 git 子模块进行跟踪并由其他团队独立检查。从本质上讲,这允许多个团队在一个静态站点中的不同页面(实际上是 JS 应用程序)上工作,而无需复制主布局等。

问题在于 git 想将这些符号链接(symbolic link)视为文件。例如,git status 显示:

# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be commited)
#
# src/_modules/bar/foo.haml
# src/foo.haml

...当我真的只是想让它显示 src/_modules/bar/foo.haml 并忽略 src/foo.haml

一种方法是让我的链接生成代码将链接附加到 .gitignore,但以编程方式乱用 .gitignore 让我觉得容易出错。 (或许这种担心不合理?)

我理想的解决方法是:

[filetype = link]

...在 .gitignore 中。据我所知,这样的事情是不可能的,或者是吗?

最佳答案

这似乎是个更好的主意

find . -type l | sed -e s'/^\.\///g' >> .gitignore

Find 为所有文件输出一个“./”前缀。除非你把它剪掉,否则 gitignore 无法对它们采取行动。一旦你修剪了开头的“.\”,它就像一个魅力

关于git - 告诉 git 忽略符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com