将分支上的 git 提交保存到文件中

Ale*_*lex 3 git

给定本地分支(比如“测试”) - 是否可以使用一些 git 魔法将该分支上的提交保存到一个文件中,我可以将该文件发送给其他开发人员,然后他们可以将这些提交应用到他的分支?我知道有一种方法可以将分支上的每个提交保存到文件中,但不确定是否可以仅对本地分支上的提交执行此操作。

例如,主分支已提交“a”、“b”和“c”,而我的测试分支已在“c”上创建,并提交了“d”和“e”:

 + (branch:master)
 |
 * commit:'a'
 |
 * commit:'b'
 |
 * commit:'c'
 |  \
...  + (branch:test)
     |
     * commit:'d'
     |
     * commit:'e' 
     x
Run Code Online (Sandbox Code Playgroud)

因此,在生成“test”和“master”分支之间的差异后,我希望在该差异中只提交“d”和“e”。因此,其他开发人员也可以从 master 创建自己的测试分支,应用我的 diff 并在他的分支上提交“d”和“e”。

我知道这可以通过将更改推送到远程分支来实现,但出于某些原因,我想避免这样做,是的,我知道分支很便宜,但相信我,我有充分的理由不将这些更改推送到远程分支。

ush*_*sha 5

在你的测试分支中做

git format-patch master --stdout > patch.diff
Run Code Online (Sandbox Code Playgroud)

申请时

git am < patch.diff
Run Code Online (Sandbox Code Playgroud)