Windows 从 repo 克隆时更改符号链接文件
Windows changes symlink file when cloned from repo
我有一个 git 存储库,其中包含一些符号链接。这通常用于 Linux 环境。
然而,当 repo 被克隆到 windows 时,其中一个符号链接发生了变化,因此使用 docker 在 windows 上构建是行不通的。
问题很简单。我有一个这样的符号链接:localtime -> /etc/localtime
但是当文件被克隆到 windows 系统时,它会变为:localtime -> c:/etc/localtime
当我尝试使用它进行构建时,这会破坏符号链接,因为 windows 中的构建不起作用。我的 Linux 构建中的符号链接将更改为 /c/etc/localtime
而不是 /etc/localtime
Git 似乎甚至没有记录此更改,因为 git 状态表示所有文件都与 master 保持同步,即使此文件与 master 中的文件明显不同回购
有什么方法可以阻止 windows 在克隆时自动更改此文件?
或者将其更改为相对路径是唯一的选择吗?
您可以从索引中删除一个符号链接并添加一个脚本(bash、python 或其他)来代替它生成一个符号链接。
您 运行 在克隆或创建挂钩后手动编写此脚本。 Git 处理文本文件比处理任何其他文件(包括符号链接)要好得多。
如果您使用 docker 构建,那么无论如何您都可以在克隆后设置 运行 这个 symlink-creation-step。
我有一个 git 存储库,其中包含一些符号链接。这通常用于 Linux 环境。
然而,当 repo 被克隆到 windows 时,其中一个符号链接发生了变化,因此使用 docker 在 windows 上构建是行不通的。
问题很简单。我有一个这样的符号链接:localtime -> /etc/localtime
但是当文件被克隆到 windows 系统时,它会变为:localtime -> c:/etc/localtime
当我尝试使用它进行构建时,这会破坏符号链接,因为 windows 中的构建不起作用。我的 Linux 构建中的符号链接将更改为 /c/etc/localtime
而不是 /etc/localtime
Git 似乎甚至没有记录此更改,因为 git 状态表示所有文件都与 master 保持同步,即使此文件与 master 中的文件明显不同回购
有什么方法可以阻止 windows 在克隆时自动更改此文件?
或者将其更改为相对路径是唯一的选择吗?
您可以从索引中删除一个符号链接并添加一个脚本(bash、python 或其他)来代替它生成一个符号链接。
您 运行 在克隆或创建挂钩后手动编写此脚本。 Git 处理文本文件比处理任何其他文件(包括符号链接)要好得多。
如果您使用 docker 构建,那么无论如何您都可以在克隆后设置 运行 这个 symlink-creation-step。