git branch testbranchこのチェックアウト後に を作ろうとしましたgit checkout testbranch。次に、「README」などのファイルを編集しました。
ここで、「マスター」ブランチに戻ろうとしましたが、mergeコミットされていないファイルがあると不平を言うだけでなく、常に
では、これはなぜですか?みたいなエラーになるかと思った…
エラー: "X" にローカルな変更があります。ブランチを切り替えることはできません。
長い間、すべての魚をありがとう。
git branch testbranchこのチェックアウト後に を作ろうとしましたgit checkout testbranch。次に、「README」などのファイルを編集しました。
ここで、「マスター」ブランチに戻ろうとしましたが、mergeコミットされていないファイルがあると不平を言うだけでなく、常に
では、これはなぜですか?みたいなエラーになるかと思った…
エラー: "X" にローカルな変更があります。ブランチを切り替えることはできません。
長い間、すべての魚をありがとう。
変更に互換性がある場合(早送り)、gitは文句を言わず、変更されたバージョンを保持します。Gitは、ファイルを間違ったブランチで編集したと想定し、適切なブランチに戻りたいと考えています。
ただし、これはマージではありません。ファイルが両方とも変更された場合、gitは準拠します。
マージは、ファイルレベルではなく、コミットレベルでのみ実行できます。
この問題は私に発生します。
実際、それは大したことではありません。
条件 1: git でエラーが発生する:
error: Your local changes to the following files would be overwritten by checkout:
README
Please, commit your changes or stash them before you can switch branches.
Aborting
条件 2: git は次のように表示します。
M README
Switched to branch 'master'
しかし、条件 1 はいつ発生するのでしょうか。または条件2?
条件 1: master ブランチと testbranch の間で README の変更の競合があります。
条件 2: master ブランチで README を変更しても問題ないため、変更は master ブランチで発生します。
したがって、条件 1 であっても 2 であっても、git は賢いので、git を使用しても問題ありません。
それが私のポイントです、私はあなたがそれを理解していることを知っています。
幸運を。