我怎样才能格式化补丁与我藏起来的东西

在混帐,我藏起我的变化。 有可能我可以用我藏起来的东西创build一个补丁吗? 并在其他一些存储库(我的同事)的补丁应用?

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

我怎样才能在其他仓库中应用补丁?

当然, git stash show支持这个:

 git stash show -p 

这个答案提供了有关保存修补程序并将其应用于您要使用它的信息。

要将输出存储在文件中:

  git stash show -p --color=never > my-patch-name.patch 

validation补丁看起来不错:

 git apply --stat my-patch-name.patch 

validation没有错误:

 git apply --check my-patch-name.patch 

应用补丁

 git apply my-patch-name.patch 

使用

 $> 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 

得到你最近隐藏的东西的清单。 Git实际上创build提交对象,当你藏起来。

他们是像其他一切一样犯下的。 你可以在一个分支中检查它们:

 $> git checkout -b with_stash stash@{0} 

然后你可以发布这个分支,你的同事可以合并或select提交。

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

 git stash show stash@{0} -p --binary 

编辑

注意:我只是想为上面的回复添加评论,但是我的声望还不够。

我相信这可能是Git最近的一个版本。 你不必修补你所藏的变化。 你可以将你的隐藏的更改应用到另一个分支上。

在分支A上说,你已经隐藏了一些变化,被称为隐藏@ {1}。

你现在切换到分支B.你可以这样做:

 $git stash apply stash@{1} 

这适用于您的分支A更改到分支B.