有没有什么办法可以在git中的一次提交中只导出已更改的文件?

时间:2013-06-06 08:46:20

标签: git gerrit

我使用gerrit作为我的代码审查和git系统。 现在我试图只获取gerrit中某个补丁集的文件,排除git存储库中的其他文件。 有没有办法做到这一点,比如git命令或某事?

例如,Here是一个补丁集,现在我只想下载此提交中更改的九个文件,我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

不确定问题究竟是什么。也许您正在寻找:

git log --name-only

在git中没有“下载”。您只能克隆一个完整的存储库并在之后获取新的提交。

获得存储库的本地克隆后,您就可以访问该存储库中创建的所有文件。

如果您想要给定提交中的文件内容,可以这样说:

git show a90b68ab485d795d3fb1f5220eb7851b21583ccd:sources/host-tools/gdb-pretty-printers/stlport/gppfs-0.2/COPYING

答案 1 :(得分:1)

您是否考虑过使用gerrit query命令?

您可以使用ssh -p 29418 user@gerrit.example.com gerrit query --current-patch-set 123 --files

这将为您提供对该补丁集123进行更改的文件列表。可以将输出格式化为JSON以便于处理。

有关详细信息,请参阅documentation