どのように私は私が離れて隠しておくものとパッチをフォーマットすることができます
質問
gitので、私は私の変更を離れて隠しておきます。それは私が離れて隠しておくものとパッチを作成できることは可能ですか?そして、いくつかの他のリポジトリにそのパッチを適用します(私の同僚の)?
私は「-1 Gitのフォーマットパッチ」を知っているが、私はそれは私が犯した何のためにあると思います。しかし、私は、変更のために同じものを探しています私は離れて隠し?
そして、どのように私は他のリポジトリにパッチを適用することができますか?
解決
確かに、 git stash show
にこれをサポートしています:
git stash show -p
他のヒント
この答えは、パッチを保存し、あなたがそれを使用したい場所にそれを適用するの両方に関する情報を提供しています。
ファイルに出力を隠しておくために、
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 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}
あなたは、このブランチを公開することができますし、同僚が合併またはそのコミットチェリー選ぶことができます。
ソリューションは、バイナリデータでは動作しません以上。 そのため、次の追加サポート:
git stash show stash@{0} -p --binary
の編集の
注:私は上記の回答にコメントを追加したかったが、私の評判は十分ではありません。
私は、これは最近、Gitリポジトリからudpatesの一つであるかもしれないと考えています。あなたは、それ以上離れて隠し変更にパッチを適用する必要はありません。あなただけの別のブランチにご隠し変更を適用することができます。
あなたはスタッシュと呼ばれ、いくつかの変更を離れて隠してきた分岐Aに言う@ {1}。
あなたは今、あなただけ行うことができます分岐Bに切り替えます:
$git stash apply stash@{1}
これは分岐Bにあなたの分岐Aの変更を適用します。