我怎样才能格式化补丁与我藏起来的东西
在混帐,我藏起我的变化。 有可能我可以用我藏起来的东西创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.