3

git status を実行すると:

# On branch new-media
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   .gitignore
#   modified:   app/views/layouts/application.html.erb

次に、マスターをチェックアウトします。git checkout master

M   .gitignore
M   app/views/layouts/application.html.erb
Switched to branch 'master'

以前は、git によって他のブランチのチェックアウトが停止され、現在のブランチに加えた変更を stash するか commit するように求められました。今はそうではありません。

4

3 に答える 3

5

変更されたファイルが両方のブランチで同じである場合、Git はダーティな作業ディレクトリを持つブランチを問題なく切り替えます。そうでない場合は、停止します。-mフラグを使用して、この動作をオーバーライドできます。

見る

于 2012-07-13T19:01:40.647 に答える
1

これらの変更が他のブランチのファイルと競合する場合にのみ、コミットされていない変更でブランチを切り替えることができなくなります。Git が正常に切り替えることができる場合は、プロンプトを表示せずに切り替えます。

于 2012-07-13T18:59:42.503 に答える
1

チェックアウトしようとしていたブランチの同じファイルに別の変更があった場合、ブランチのチェックアウト (スタッシュまたはコミットのプロンプト) を防ぐ必要があります。しかし、これらのファイルへのブランチ間に違いがなければ、常にチェックアウトを許可する必要があります。

私はpmrに同意します。あなたは現在「通常の」動作を見ており、以前に「競合」の動作を見たことがあります。

于 2012-07-13T19:02:48.887 に答える