导出已更改的文件&多次提交的文件夹

时间:2013-06-14 06:48:55

标签: git

我找到了一个Git命令,但它只在commit id之间导出文件名并保存在文件中

  

git diff --name-only commitid1 commitid2> ../的Result.txt

result.txt的一个例子:

Web/A/Recoverpw.aspx
Web/B/Root.aspx

但是我想将它们作为文件导出到结构文件夹中。例如:

Web
|__A
   |__Recoverpw.aspx
|__B
   |__Root.aspx

导出的文件必须是最新的,从本地存储库获取。请帮我。感谢。

1 个答案:

答案 0 :(得分:0)

接近的唯一命令是git archive,您可以为其指定要在(zip或tar)存档中导出的路径列表,您可以在其他位置取消存档。

但这不是获取所需文件的便捷方法。

另一种方式是:

  • 克隆您的本地仓库
  • 删除列出git diff输出
  • 的所有文件

实际上,更简单的方法是从git diff复制每个文件的路径 请参阅“linux: copy and create destination dir if it does not exist

cp --parents a/b/c existing_dir
  

将文件“a/b/c”复制到“existing_dir/a/b/c”,创建任何缺少的中间目录。