我想从索引,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选项签出到特定文件夹,而正常签出不允许)仅检出索引。如果我想查看某个提交到某个文件夹的文件怎么办? 类似的问题已被发现
答案 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
。