小编典典

Windows 中的 Git 符号链接

all

我们的开发人员混合使用基于 Windows 和 Unix 的操作系统。因此,在 Unix 机器上创建的符号链接成为 Windows 开发人员的问题。在
windows (msysgit) 中,符号链接被转换为文本文件,其中包含指向文件的路径。相反,我想将符号链接转换为实际的 Windows 符号链接。

我必须解决的( 更新 的)解决方案是:

  • 编写一个将递归查找“符号链接”文本文件的结帐后脚本。
  • 将它们替换为与虚拟“符号链接”具有相同名称和扩展名的 Windows 符号链接(使用 mklink)
  • 通过在 .git/info/exclude 中添加一个条目来忽略这些 Windows 符号链接

我还没有实现这个,但我相信这是解决这个问题的可靠方法。

问题:

  1. 您认为这种方法有什么缺点(如果有的话)?
  2. 这个结帐后脚本甚至可以实现吗?即我可以递归找出 git 创建的虚拟“符号链接”文件吗?
  3. 有人已经写过这样的剧本了吗?

阅读 217

收藏
2022-04-24

共1个答案

小编典典

您可以通过查找模式为 的文件来找到符号链接120000,可能使用以下命令:

git ls-files -s | awk '/120000/{print $4}'

替换链接后,我建议将它们标记为未更改git update-index --assume- unchanged,而不是在.git/info/exclude.

2022-04-24