我想将两个分支之间的差异文件下载到本地文件夹中。 Git可以吗?
鉴于文件仅添加到源分支,它们不会更改。
答案 0 :(得分:12)
您可以通过这些行周围的内容获取分支之间的所有更改:
git diff origin/master origin/develop > my_diff.diff
如果你只添加[text]文件,那么解析diff文件并将其分解为单个文件将是微不足道的。 (我会说,这是一个50行代码下的红宝石脚本)
答案 1 :(得分:8)
git archive --format=tar --prefix="exported/" -o export.tar br2 $(git diff --name-only br1 br2)
假设您现在正在br2
并且br1
落后于它,括号内的部分(git diff...
)将为您提供两者之间更改的文件列表头。 git archive
命令会将br2
(即当前头部)上的这些文件导出到名为export.tar
的目录中名为exported/
的tar文件中。
这假设(就像你在你的问题中所述)你只添加了新文件并且所有差异都是添加的。该命令还将导出已修改的文件,但您声称没有任何文件。