Git如何:在分支之间拉差异

Woj*_*icz 7 git diff branch pull

我想将两个分支之间的差异文件下载到本地文件夹中.Git有可能吗?

鉴于文件仅添加到源分支,它们不会更改.

Ser*_*sev 12

您可以通过这些行周围的内容获取分支之间的所有更改:

git diff origin/master origin/develop > my_diff.diff
Run Code Online (Sandbox Code Playgroud)

如果只添加[text]文件,那么解析diff文件并将其分解为单个文件将是微不足道的.(我会说,这是一个50行代码下的红宝石脚本)


Nou*_*him 8

git archive --format=tar --prefix="exported/" -o export.tar br2 $(git diff --name-only br1 br2)
Run Code Online (Sandbox Code Playgroud)

假设你在br2现在和br1滞后背后,括号内的部分(git diff...)会给你两个头之间发生变化的文件列表.该git archive命令将这些文件导出br2(即在您当前的头上)到称为export.tar目录内的tar文件exported/.

这假设(就像你在你的问题中所说的那样)你只添加了新文件并且所有差异都是添加的.该命令还将导出已修改的文件,但您声称没有任何文件.