Answers:
当然,git stash show
支持这一点:
git stash show -p
所以用
git stash list
找出要导出为补丁的存储的数量,然后
git stash show -p stash@{<number>} > <name>.patch
导出它。
例如:
git stash show -p stash@{3} > third_stash.patch
man patch
,但没有看到交互式补丁应用程序的任何选项。但是,由于补丁文件本身就是纯文本文件,因此通常要做的是在文本编辑器中编辑补丁,以裁剪出要应用的相关部分patch
。或者,如果您要将补丁应用到另一个Git存储库中,则可以全部应用它,然后有选择地选择git checkout
不想更改git checkout
的文件(使用文件名会丢弃未进行的更改)。
git add --interactive ${YOUR_FILES}
,它将为您提供部分提交的机会。
git stash show -p stash@{1} > patch.txt
该答案提供有关保存补丁以及将补丁应用到您想要使用它的信息。
要将输出存储在文件中:
git stash show -p --color=never > my-patch-name.patch
验证补丁看起来不错:
git apply --stat my-patch-name.patch
验证没有错误:
git apply --check my-patch-name.patch
应用补丁
git apply my-patch-name.patch
git apply --check --ignore-space-change --ignore-whitespace my-patch-name.patch
应用补丁: git apply --ignore-space-change --ignore-whitespace my-patch-name.patch
git apply
没有拿到差异。
用
$> 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实际上会创建提交对象。
他们是像其他一切一样的承诺。您可以在分支中检出它们:
$> git checkout -b with_stash stash@{0}
然后,您可以发布此分支,而您的同事可以合并或选择该提交。