回答:
確かに、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}
次に、このブランチを公開し、同僚がそのコミットをマージまたは選択することができます。