web-dev-qa-db-ja.com

「git branch」と「git checkout -b」の違いは何ですか?

git checkout -bを使用して新しいブランチを作成しました。 git branchは同じことをすると思います。これら2つのコマンドがまったく異なる場合、どのように異なりますか?

170
Adrien Joly

git checkout -b BRANCH_NAMEは新しいブランチを作成し、新しいブランチをチェックアウトしますが、git branch BRANCH_NAMEは新しいブランチを作成しますが、同じブランチに残ります。

つまり、git checkout -b BRANCH_NAMEは次のことを行います。

git branch BRANCH_NAME    # create a new branch
git checkout BRANCH_NAME  # then switch to the new branch
230
Fatih

git branchはブランチを作成しますが、チェックアウトした現在のブランチに残ります。

git checkout -bはブランチを作成し、チェックアウトします。

以下の略です。

git branch name
git checkout name
41
manojlds
  • git branchすべてのブランチを表示します
  • git branch newbranch新しいブランチを作成します
  • git checkout -b newbranch新しいブランチを作成し、すぐにそのブランチに切り替えます。これは、git branch newbranchに続いてgit checkout newbranchと同じです。
24
Michel Pereira

完全な構文:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

[FROM_BRANCH]はオプションです。 FROM_BRANCHがない場合、gitは現在のブランチを使用します。

17
Tuong Le

これらに関連する、言及する別のフラグもあります。

git checkout -B BRANCH_NAME

これは、最近使用した非常に便利なコマンドです。このコマンドは、指定したブランチをチェックアウトし、resetsソースブランチに基づいたブランチをチェックアウトします。

6
ddavison

基本的に:

A-gitブランチを使用すると、プレーンでシンプルなブランチを作成できます。

B -git checkout -bを使用すると、ブランチを作成して同時にブランチに切り替えることができます。

いつwhichを使用しますか? 1-ブランチを作成したいが現在のブランチにとどまる場合のgitブランチ。 2- git checkout -bを作成して切り替えたい場合。ブランチを作成してそれに切り替えるのは直感的です。だから選択はあなた次第です:)

0
user2238769

似た形式の両方のコマンドがあります(git-scm docsバージョン2.11.1を見てください):

git branch <branchname> <start-point>

そして

git checkout -b <new_branch> <start_point>

latter 最初にブランチコマンドを実行し、次にチェックアウトを追加します。そのフォームでは、git-branchのドキュメントを明示的に参照しています。

-bを指定すると、git-branch [2]が呼び出されてチェックアウトされたかのように新しいブランチが作成されます

0
Pshemy108