我尝试根据libgit2
编写文件存储。
软件快照应保存为分支mysoftware
,并提交和标记特定版本。然后我想将标签签出到不同的目录。
在查看git_checkout_tree
时,似乎只有一个工作树可用于存储库,因此甚至不可能同时检出多个工作树。
这是对的吗??
修改
此外,我希望这个东西可以在Windows上运行,而不需要cygwin!
答案 0 :(得分:3)
git_checkout_opts
中的libgit2
结构包含target_directory
选项,允许git_checkout_tree()
写入不同的目录,而不是使用存储库的默认工作树。这将允许您使用libgit2自定义构建一个维护多个签出副本的解决方案。
不使用该选项,libgit2
git_repository
对象期望只有一个工作目录,如果它不是“自然”工作目录,则查找core.worktree
配置选项对于存储库。
git-new-workdir
目录中带有符号链接的.git
技巧现在对libgit2
不起作用,我担心,特别是在Windows上效果不佳。我很乐意看到这个问题,但我的优先级列表并不是太高。
答案 1 :(得分:1)
Git本身并不支持此功能,但您可以使用git-new-workdir来执行此操作。