【问题标题】:Is pushing a symbolic link to git a bad practice?将符号链接推送到 git 是一种不好的做法吗?
【发布时间】:2015-06-30 21:43:24
【问题描述】:

我不确定将符号链接推送到 git repo 是否是一种不好的做法。这样做有什么风险或不好的理由吗?

我还没有看到一个好的答案。如果有人有好的资源或解释,请分享。

【问题讨论】:

标签: git symlink


【解决方案1】:

只要符号链接引用同一存储库中的资源,作为相对路径,应该没问题(尤其是现在symlinks are supported on Windows和@987654322 @)

当相同的符号链接引用资源时,以下两种情况不起作用

  • 存储库中,但使用绝对路径(不好的做法)
  • 具有相对或绝对路径的存储库(不好的做法)

“不好的做法”,因为:任何在不同机器/patform/OS 中的存储库克隆都无法访问/使用这些路径。


之后,它取决于 在哪里使用 repo(及其符号链接)。

我之前在“How to add symlink file to a gitlab repo”中提到,符号链接会使 GitLab 管道失败。

=>“不良做法”:使用此类存储库的环境将无法运行其内容。

【讨论】:

  • 我在考虑更多关于不良做法,而不是关于它是否可行
  • @lucasvc bad practice 正是这个答案解决的问题:如果它在回购之外或具有绝对路径,那将是一个 不好的做法。如果在管道中使用它,那将是一个不好的做法。
  • @lucasvc 我已经编辑了答案以强调您所追求的观点。
  • 嗯,我的意见是这样,但我仍然对好的或坏的做法有疑问(从工程的角度来看)。但要点是给你的:)
  • 子模块是否考虑在 repo 之外?
【解决方案2】:

我们在 github 存储库中安排了符号链接,从我的角度来看,这是一种不好的做法:

  1. 代码组织不好。您将看到相同文件的两个或多个实例,并且每次都需要调查它是符号链接还是常规文件
  2. IDE 不能很好地处理重复文件
  3. 您可以扫描单个文件夹中的更改,如果未进行任何更改,您可以跳过持续集成中的某些步骤。使用符号链接,这更加困难。

我想还有其他因素,但这是我遇到的。

【讨论】:

  • 我不明白您所说的“相同文件的两个或多个实例”是什么意思。您正在创建指向...的符号链接在哪里?存储库中的其他文件?我觉得这里有很多(相对狭窄)关于代码组织的假设并不能真正处理提出的非常广泛的问题。
猜你喜欢
  • 2023-03-28
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 2018-10-03
相关资源
最近更新 更多