在 Windows 上,有一个本地 Git 存储库。使用以下命令获取提交中已更改文件的列表:
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT %CommitId% | tar -rf CommitId/%CommitId%.tar -T -
其中 %CommitId% 是提交号,它在 Bat 文件中手动替换。但是后来我提交了新的更改并决定获取更改文件的存档 - 现在这个命令会生成一个空存档。我不明白这是什么问题?告诉我如何获取某个提交的更改文件列表(不管它是否是最后一个),我只是无法掌握 git doc ...
我补充一下,我明白怎么了..事实证明 diff-tree 仅在当前分支内接收更改,即 在将一个分支合并到另一个分支的情况下,最后该命令不会输出任何内容,直到合并后有一些更改,并且它们已经可以存档。对于这样的事情,有一个简单的 diff 命令,但没有 --diff-filter=ACMRT 过滤器 - 这只是令人沮丧......这个问题仍然相关,因为。我想要一个带有一个命令和 1 个提交 ID 的犹太洁食解决方案。
我选择了在 bat 文件中使用的选项,内容如下:
使用 SourceTree,我创建了一个自定义团队并将任何选定提交的更改卸载到存档。可以考虑选择多个提交,但这是另一回事..