2

次のシナリオがあるとしましょう: - 新しいブランチを作成してチェックアウトしました (git checkout -b )。- 新しいブランチでファイルを変更しました - マスターに戻そうとすると、git は次の警告をスローします: 「エラー: 次のファイルに対するローカルの変更は、チェックアウトによって上書きされます...」

これがgitの振る舞いだと思います。同じプロジェクトに取り組んでいる他の同僚がいますが、上記と同じことをすると、警告は表示されず、git は単にブランチを切り替えます。ファイルを自動的にマージするように見え、git status は両方のブランチで同じことを示します。警告が表示されるのに表示されないのはなぜですか? これは設定的なものですか?

前もって感謝します。

4

2 に答える 2

1

(現在のコミット)のファイルの状態が、HEADチェックアウトしようとしているブランチの状態と異なる場合にのみ、そのエラーが発生するはずです.gitは、ローカルの変更を運ぶことができるかどうかを簡単に確認できないためです。新しい支店へ。


ただし、最初の例は少し混乱しています。

新しいブランチを作成してチェックアウトしました ( git checkout -b )。- 新しいブランチでファイルを変更しました - マスターに戻そうとすると、git は次の警告をスローします: 「エラー: 次のファイルに対するローカルの変更は、チェックアウトによって上書きされます...」

その警告を受け取ったので、 以外のものに基づいて新しいブランチを作成していたか、masterそのファイルに変更を導入するコミットを作成してから、ローカルでさらに変更を加えてmaster再度チェックアウトしようとしたと思います。

于 2013-07-04T08:04:57.897 に答える