git-archive一个子目录 -

wil*_*ast 19 git subdirectory git-archive

我正在使用git-archive来存档git仓库中的子目录,如下所示:

git archive -o ../subarchive.zip HEAD subdir/*
Run Code Online (Sandbox Code Playgroud)

但是,生成的存档会维护subdir /目录结构,即内容为:

subdir/
   whatever.js
   morestuff.js
Run Code Online (Sandbox Code Playgroud)

当我真的想在存档的根目录中找到whatever.js和morestuff.js时.

怎么办?谢谢.

Sto*_*ica 31

你可以这样做:

git archive -o ../subarchive.zip HEAD:subdir
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你以这种形式使用它,一个简单的方法来玩命令并看看它将产生什么:

git archive --format=tar HEAD:subdir | tar t
git archive --format=tar HEAD subdir | tar t
# ... and so on ...
Run Code Online (Sandbox Code Playgroud)

一旦看到要查找的内容,就可以更改格式并使用-o标志来实际创建存档.

  • 有什么方法可以有效地针对远程存储库执行此操作,例如,仅获取一个不实用的巨型存储库的一个目录/一个修订版?我尝试了“ --remote”,但是速度太慢了。 (2认同)