方法1:
$ git checkout v4.1.0-rc12 branch
(see if it succeeds, if so):
$ git add ... # if/as needed
$ git commit
このは動作しない場合があります、(および場合のみ)場合git checkout
ステップは、ブランチに切り替えることを拒否しますので、スイッチングがすでにた変更を一掃すると発表しました製。
ステップが成功するとなります。できるだけ変更を行います。
git checkout
の手順が成功した場合は、これをすべて処理するのが一番簡単な方法です。そうでない場合は、別の方法に進みます。
方法2(avi's answer):
$ git checkout -b tempbranch
$ git add ... # as and if needed
$ git commit
これ(-b tempbranch
)は以前の頭を外した時にコミットを指す新しい、一時的なブランチを作成します。
削除されるまで今、あなたは
git checkout
あなたが
tempbranch
に作られたものは何でもあなたが好き、とコミットすることは永久にあなたのリポジトリ(まあ、永久/しない限りに保存されていることができ
o--o--o <-- v4.1.0-rc12 branch
/
...--o--o
\
o <-- tempbranch
:git commit
は新しい、この一時的なブランチ上のコミットを作成します名前tempbranch
)を使用すると、いつでも必要なときにその内容をコピーできます。
方法3:
$ git stash
$ git checkout v4.1.0-rc12 branch
$ git stash apply # or even "git stash pop" but I prefer "apply"
... check everything out ...
... if it all looks right ...
$ git stash drop # "git stash pop" means "apply and then auto-drop"
何git stash
は上の任意の支店ではありません(まあ、実際にはコミット)をコミットしますです。一時的なブランチを作成したときと同じ効果があります。そのため、非ブランチを削除してしまうと問題が残るため、git stash drop
はコミットを保持している名前のないブランチを削除します。基本的に
git stash apply
ステップ(それはこれよりも複雑ですが)チェリーピックgit stash
がなされていることにコミット、あなたが今どこにいても:これはチェリーピッキングのようにあなたがtempbranch
に作られたコミットです。 git stash pop
自動的git stash apply
の結果が混乱している場合でも、git stash drop
を呼び出し
注意、あなたは一時的なコミットの場合は、あなたpop
ではなく、もしあなたapply
を失ってしまいました。すべてがの場合、には実際の違いはなく、pop
がより便利です。物事が悪化した場合に備えて、これはより良いbread-crumb trailを残す場合に過ぎません。
(私の個人的な好みは、方法2に方法3、偶然に、そして、その後、最初に可能であれば、方法1のために3通常2ですが、私は - 私の仕事になるだろうと確信しているとき、時々、好みます。)
偉大な答え。ありがとう!! –