我很困惑如何使用git archive 。 我有一个Git仓库文件夹Foo , Bar和Baz在顶层。 我需要以SVN-ISH方式导出文件夹Foo ,以进行快速testing部署。 我了解到,我可以用SVN-ISH导出方式使用git-archive 。 但是,这是事情, 以下工作正常: git archive master | tar -x -C ~/destination 它会在目标文件夹中产生Foo , Bar , Baz文件夹。 但是,以下将 fatal not a valid object name 错误,而fatal not a valid object name : git archive master/foo | tar -x -C ~/destination 文档 看作为git archive程序的概要,我看到它可以采取一个<tree-ish> [path]作为参数(摘要汇总到相关的部分): git archive <tree-ish> [path…] […]
我一直在想,是否有一个很好的“git导出”解决scheme可以创build没有.git存储库目录的树的副本。 至less有三种方法我知道: git clone然后删除.git库目录。 git checkout-index暗示着这个function,但是以“只是把所需的目录树读入索引…”开头,我不完全知道该怎么做。 git-export是一个第三方脚本,基本上把一个git clone到一个临时位置,然后是rsync –exclude='.git'到最终的目的地。 这些解决scheme真的没有让我满意。 离svn export最近的一个可能是option 1,因为这两个都要求目标目录先是空的。 但是,选项2似乎更好,假设我可以弄清楚在索引中读取树是什么意思。