機能ブランチにいることもありますが、マスターで確認したい無関係な変更を加えました。多くの場合、次のことができます。
git checkout master
git commit -m "..." filename
しかし、チェックアウトを行うと、ローカルに変更があり、ブランチを切り替えることができないという警告が表示されることがあります。
なぜこれは時々しか起こらないのですか?このメッセージが表示された場合の回避策はありますか? もしかして隠し?
機能ブランチにいることもありますが、マスターで確認したい無関係な変更を加えました。多くの場合、次のことができます。
git checkout master
git commit -m "..." filename
しかし、チェックアウトを行うと、ローカルに変更があり、ブランチを切り替えることができないという警告が表示されることがあります。
なぜこれは時々しか起こらないのですか?このメッセージが表示された場合の回避策はありますか? もしかして隠し?
Devin Ceartas が述べたように、これは、ブランチを切り替えると、既にローカルで変更したファイルが変更される場合に発生します。(変更されないファイルにローカルの変更がある場合、またはブランチにもマスターにも存在しない新しいファイルを追加しても、Git は文句を言いません。)
これを回避する 2 つの方法:
変更を「git stash」し、マスターに変更し、「git stash apply」を実行します。次に、変更をコミットします。
必要な変更をブランチにコミットしてから、他の変更 (ある場合) を "git stash" し、マスターに変更して、マスターで変更をチェリー ピックします。
これも見ました。問題は、ローカルの変更が他のブランチの何かで変更される場合にあると思います(他のブランチにない新しいファイルとは対照的に)。別のディレクトリで他のブランチをいつでもチェックアウトできます。