2009-12-12 53 views
3

我似乎无法在任何地方找到这个看似简单的问题的答案:一旦你“释放”它,你如何获得代码库的干净副本?例如,假设我在Git仓库中的某个地方想要发布副本。如何在没有所有Gitiness的情况下复制它?我不想要任何隐藏的Git目录等。我想要一个干净的可交付产品。想法?顺便说一句,我正在与RoR合作。如何获得“清理”的Git存储库?

最佳

+0

可能的欺骗:http://stackoverflow.com/questions/160608/how-to-do-a- git-export-like-svn-export – 2009-12-12 18:04:02

回答

10

您可能希望git archive,例如

git archive --format=tar -o /path/to/archive.tar master 

请注意,上述为您提供了一棵整棵树。如果你愿意,可以削减下来到只有特定的目录,包括下去多个“级别”:

git archive --format=tar -o /path/to/archive.tar master somedir/ another/dir/ 
4

使用Git的目录中,有真的只有一个目录是“gitty,”那是git的。

下面是我的建议,你签出你的发布分支并将其复制到别处,除了.git文件夹。这包你的工作目录到一个压缩包:

$tar --exclude .git -cjf release.tar.bz2 * 
+1

'.gitignore'文件怎么样?那不也是“gitty”吗?这将包括在tarball中的那些。我不确定'git archive'会默认排除它们,但它可能会。如果没有,可以使用'export-ignore'属性配置它。 – 2009-12-12 19:58:01