リモートリポジトリに既に存在するがローカルリポジトリに存在しない新しいブランチを作成すると、おそらく、次の2つのコマンドを実行できます。git checkout -b hotfix origin/hotfix
とgit branch hotfix origin/hotfix
ここで、hotfixはちょうど私が仮定したブランチです。では、これら2つのコマンドの違いは何ですか?両方とも、すでに両方のブランチがすでに上流ブランチを追跡しているようです。Gitコマンド:git checkout -b <branch><リモートブランチ>とgitブランチ<branch><リモートブランチ>の違いは何ですか?
誰でも説明できますか?
さらに、 'git checkout -b'を使って新しいブランチを作成すると、create-and-switchは* *と*チェックアウトした場合、またはチェックアウトに失敗した場合は、新しいブランチは作成されません。 'git branch []'で、新しいブランチの後続の 'git checkout'が失敗しても、新しいブランチが作成されます。通常、この違いは無関係ですが、チェックアウトが失敗した場合に新しいブランチを自動的に削除したい場合は、 'git checkout -b'を使ってそれを取得することができます。 –
torek
@torek非常に興味深いコメント!しかし、ブランチの作成は成功しましたが、どのような状況でチェックアウトに失敗しますか? –
@ KazuyaTomita: ''がないと、チェックアウトが失敗する原因はローカルファイルシステムエラー(ディスク領域不足など)だけです。 ' 'を指定すると、インデックスや作業ツリーに未だコミットされていないコミットされていない変更があれば、新しいコミットに切り替えることができなくなります。詳細はhttp://stackoverflow.com/q/22053757/1256452を参照してください。 –
torek