我尝试在Windows上制作git hooks,自动将位于存储库中的unix符号链接转换为本地机器上的hardlinks + junctions窗口。我怎么可能这样做?我们使用基于Windows和Unix的操作系统。
我扩展了Git的命令列表,如Git Symlinks in Windows
我读了关于钩子并创建了post-checkout hook:
#!/bin/sh
exec git rm-symlinks
它有效,当我执行git checkout #branch_with_symlink时,但是当我下次检查时,git写道:
error: Your local changes to the following files would be overwritten by checkout:
#path_to_symlink
Please, commit your changes or stash them before you can switch branches.
git status:
# On branch #branch_with_symlink
nothing to commit, working directory clean
git避免了结账前钩,我不明白,我是如何进行这次转换的
答案 0 :(得分:1)
您可以尝试使用涂抹过滤器,而不是使用钩子。它们的设计目的是改变文本文件的内容而不是符号链接,但我认为你可以让它们起作用。
此处提供了一些文档:http://git-scm.com/docs/gitattributes#__code_filter_code