GIT:结帐到“真正”特定文件夹

时间:2010-12-22 08:25:18

标签: git git-checkout

我想从索引,HEAD或任何其他提交中导出,签出或其他任何提交到特定文件夹,这怎么可能?类似的问题已经被问到:

GIT: Checkout to a specific folder

Do a "git export" (like "svn export")?

但是提出的解决方案的问题是它们保留了相对路径。因此,例如,如果我使用提到的方法将文件nbapp / editblog.php签出到文件夹temp,则该文件将在temp / nbapp / editblog.php中签出!

有没有直接结账到'temp'?

另外,另一个重要的事情是能够检查HEAD或任何其他提交。 checkout-index(允许使用--prefix选项签出到特定文件夹,而正常签出不允许)仅检出索引。如果我想查看某个提交到某个文件夹的文件怎么办? 类似的问题已被发现

2 个答案:

答案 0 :(得分:1)

git cat-file blob revision:path > path/where/to/save/file

答案 1 :(得分:1)

使用git archive,您可以在树形规范中包含您不想复制的路径元素。 E.g。

git archive --prefix=temp/ HEAD:nbapp editblog.php | tar x

创建temp/editblog.php,而

git archive --prefix=temp/ HEAD nbapp/editblog.php | tar x

创建temp/nbapp/editblog.php