如何使用我收藏的内容格式化补丁

sil*_*rgh 126 git git-stash git-patch

在git中,我隐藏了我的变化.我可以用我藏的东西创建补丁吗?并将补丁应用于其他一些存储库(我的同事)?

我知道'git format-patch -1',但我认为这是我所承诺的.但我正在寻找同样的东西,因为我藏起来的变化?

如何在其他存储库中应用补丁?

Gre*_*ill 144

当然,git stash show支持这个:

git stash show -p
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.这对我有用:`git stash show -p stash @ {1}> patch.txt` (13认同)
  • 结果看起来不像格式补丁! (2认同)

cal*_*inf 57

此答案提供有关保存修补程序并将其应用于要使用它的位置的信息.

要将输出存储在文件中:

 git stash show -p --color=never > my-patch-name.patch
Run Code Online (Sandbox Code Playgroud)

验证补丁看起来不错:

git apply --stat my-patch-name.patch
Run Code Online (Sandbox Code Playgroud)

验证没有错误:

git apply --check my-patch-name.patch
Run Code Online (Sandbox Code Playgroud)

应用补丁

git apply my-patch-name.patch
Run Code Online (Sandbox Code Playgroud)


per*_*tus 16

使用

$> git stash list
stash@{0}: WIP on master: 84fx31c Merged with change to /public/
stash@{1}: WIP on master: 463yf85 FlupResource: also takes json as a query parameter
Run Code Online (Sandbox Code Playgroud)

得到你最近藏匿的东西的清单.当你藏匿时,Git实际上会创建提交对象.

他们像其他一切一样承诺.你可以在一个分支中查看它们:

$> git checkout -b with_stash stash@{0}
Run Code Online (Sandbox Code Playgroud)

然后,您可以发布此分支,您的同事可以合并或挑选该提交.


Dav*_*rri 12

以上解决方案不适用于二进制数据.以下添加对它的支持:

git stash show stash@{0} -p --binary
Run Code Online (Sandbox Code Playgroud)

编辑

注意:我只是想在上面的回复中添加评论,但我的声誉还不够.