1

これは私を驚かせ、どうしてそれが可能なのか考えられません。

  1. git checkout -b newbranch.
  2. 以外のいくつかのファイルをコミットしますFoo.java
  3. git checkout master(私がいた元のブランチでした)エラーが発生します:

    エラー: 次のファイルへのローカルの変更は、チェックアウトによって上書きされます:
    Foo.java ブランチを切り替える前に、変更をコミットするか、隠しておいてください。

しかし、私はすでにマスターにいました。だから私は通常のワークフローを行います:

  1. git stash
  2. git checkout master

そして、それは正常に自動マージされます。なぜ自動マージが必要なのですか? から離れるのをブロックする必要があるのに、戻るのをブロックする必要git checkoutないのはなぜですか? これらの苦情がいつ発生するかのロジックを理解しようとしています。master mastergit

4

1 に答える 1